Data processing system utilizing topological methods to manipulate and categorize n-dimensional datasets

ABSTRACT

Methods are constructed for defining equivalence relations on embedded manifolds. A continuous path in the space of equivalence relations that spans from “homologous” to “diffeomorphic” and another similar path with endpoints “homologous” and “isometric” are given. Underlying the methodology is a convolution algebra of homology sampling functions. The methodology has applications for describing geometrical arrangements in material science, molecular biology, data science and physics. The methods are implemented in program code stored in a computer readable media and executable on a computer system to provide data analysis functions for a user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No. 60/779,661 filed on Mar. 6, 2006, which is herein incorporated by reference in its entirety.

FIELD OF THE INVENTION

The present invention relates generally to data processing systems. More specifically, the present invention discloses a data processing system that utilizes topological functions to categorize and analyze n-dimensional datasets.

BACKGROUND OF THE INVENTION

Characterizing the three-dimensional structure of objects has fundamental value across many industries and areas of research. Applications include the analysis of existing materials, synthesizing new materials, and predictive correlations for how these materials perform under various conditions. For example the shape of a protein chain may contribute to its effectiveness as a drug, and understanding the shape may lead to similarly designed or improve drugs. The same goes for developing high performance materials in other fields.

Currently to characterize the morphology of an object or material one may use geometric properties such as length, angle, and curvature to define quantities to bring out the features of importance. For example, a cell has a diameter that may be defined in various ways such as the diameter of the smallest circumscribed or largest inscribed sphere. The volume of a cell is also defined by using the product of length differentials ∫ ∫ ∫ . . . dxdydz. These geometric properties are based on distance measurement and have value for conducting research and developing technologies into perhaps every branch of science.

Current geometrical methods used to categorize or analyze datasets are unable to extract or process morphological features that humans routinely take for granted. However, morphological features are also extremely important criteria along which data may be analyzed and categorized. Accordingly, there is an immediate need for computing systems that can generally categorize data based upon the morphological properties of the data.

SUMMARY OF THE INVENTION

Computing systems that are capable of processing data using topological functions are generally described. In one aspect, a computer system is disclosed that is adapted to compute the homology integral of an input dataset. The homology integral provides an extension of Betti numbers to fuzzy sets and functions, generally, and thus provides a mathematical description of the topological characteristics of the data set that may be used to analyze and characterize the data set.

A computer system comprises a processor in communications with a memory for storing program code and a dataset. The program code is executable by the processor to obtain the homology integral of the dataset. The program code contains steps that enable the processor to input an n-dimensional dataset f into the memory. In one embodiment, the dataset f has a maximum value max(f), and the program code causes the processor to generate the k+1 discretization points (s₀, . . . , s_(k)), which may range, for example, from zero to max(f). The program code then causes the processor to compute the i^(th) Betti value of the homology integral for the dataset f,

_(i)(f), by computing

$\sum\limits_{j = 1}^{k - 1}\;{\frac{s_{j + 1} - s_{j - 1}}{2} \cdot {{{dimH}_{i}\left( {f^{- 1}\left\lbrack {s_{j},\infty} \right)} \right)}.}}$ The program code may cause the processor to compute

_(i)(f), for all i from 0 to n. In some embodiments select indices may be omitted. The program code finally comprises steps for outputting the

₀(f), . . . ,

_(n)(f), or for outputting data related to the

₀(f), . . . ,

_(n)(f).

In another embodiment, the program code contains steps to input an n-dimensional dataset f. The program code then causes the processor to compute k+1 transition values (t₀, . . . , t_(k)), and then to compute the i^(th) Betti value for the homology integral by computing

$\sum\limits_{j = 0}^{k - 1}\;{\left( {t_{j + 1} - t_{j}} \right) \cdot {{{dimH}_{i}\left( {f^{- 1}\left\lbrack {\frac{t_{j} + t_{j + 1}}{2},\infty} \right)} \right)}.}}$ The program code may cause the processor to compute

_(i)(f), for all i from 0 to n. In some embodiments select indices may be omitted. The program code finally comprises steps for outputting

₀(f), . . . ,

_(n)(f), or for outputting information derived from

₀(f), . . . ,

_(n)(f).

In another aspect, a computer system is provided that performs a discrete homology convolution, which analyzes a first dataset f with a probe dataset g. The program code causes the processor to partition the dataset f into m regions k₁, . . . , k_(m), in which b_(j) is a chosen element of the j^(th) region k_(j). In certain embodiments, for each j in 1 . . . , m, the program code causes the processor to construct C_(j):k_(j)→

⁺.

In certain embodiments C_(j) is a constant function, assigning to each point in k_(j) the indexed values

(f

g_(b) _(j) ), . . . ,

_(n)(f

g_(b) _(j) )). For each i in (0, . . . , n), C_(ji)=

_(i)(f

g_(b) _(j) )). The function C_(j) may be represented in a computer in any form suitable for functions. It may be preferable to represent C_(j) as an indexed constant function by using a representation for the set k_(j) and having a rule that associates to the elements of k_(j) the values

_(i)(f

g_(b) _(j) ), for i=0, . . . , n.

The program code causes the processor to construct F_(j):

^(n)→

⁺ by assembling F from the disjoint union of the C_(j). So F_(i)(x)=C_(ji), where j is selected according to the region k_(j) containing x. In some embodiments if the partition does not cover

^(n) then F may return the value (0, . . . , 0) outside the partition. The function F may be represented in any form suitable for functions. It may be represented in a form suitable for an indexed family of step functions, such as a rule containing the partition information and the constant Betti numbers assigned to each set in the partition.

In other embodiments when the input data are sets X, Y in n-dimensional space, the procedure above may be applied with C_(j)=H(X∩Y_(b) _(j) ).

In other embodiments, the program code further contains code that allows a user to select the probe g. In yet other embodiments, the program code enables the user to design the probe g. In other embodiments the roles of f and g may be interchanged.

In various embodiments the data f will represent a function from

^(n) to

⁺. In some embodiments the data f will represent function from X to Y, where X⊂

^(n) and Y⊂

. The data f may be given by discretizing a set containing the support of f, and supplying the values of f on the discretized supports. In certain embodiments the data f may be given by supplying numerical coordinates for nodes on the graph of f, and piecewise linear, NURBS or other interpolation methods on the nodes. In other embodiments the data f may be given by supplying data that generates an approximation for a function. In yet other embodiments the data f may be given by supplying data that symbolically describes a function. Alternatively, the data f may be given by supplying data that generates an approximation for a set and/or characteristic function. Or, the data f may be given by supplying data that symbolically describes a set and/or characteristic function. Combinations of these internal representation methods for f may also be used. The data g may have any of the forms that f may have, including those just described.

In another aspect, a computer system is provided that performs an interpolative homology convolution, which analyzes a first dataset f with a probe dataset g. The program code causes the processor to perform the following steps. As an inital step, the processor selects k data points (y₁, . . . , y_(k)). Then, a plurality of values C_(ij) for i from 0 to n, and j from 1 to k, are computed using the formula C_(ij)=

f,g

_(i)(k_(j))=

_(i)(f

g_(k) _(j) ), i.e. C_(j)=

f,g

(k_(j))=

(f

g_(k) _(j) ). A value m≦k is selected. The program code then causes the processor to construct a rule or function F for evaluating F(x) as follows: For each point x to be evaluated, the program code causes the processor to select m data points (y_(j) ₁ , . . . , y_(j) _(m) )_(x) from (y₁, . . . , y_(k)). In some embodiments these may be the m points of (y₁, . . . , y_(k)) that are closest to x. The program code causes the processor to compute F_(i)(x) by interpolating between the points (y_(j) ₁ , . . . , y_(j) _(m) )_(x) with respective values (C_(ij) ₁ , . . . , y_(ij) _(m) ). In some embodiments, the interpolation may be done by assigning weights to the y_(j) _(l) in (y_(j) ₁ , . . . , y_(j) _(m) )_(x) related to the reciprical of the distance from x to y_(j) _(l) and computing the corresponding weighted average of the C_(j) _(l) values. Preferably the program code causes the processor to output the function F=(F₀, . . . , F₀), or output data derived from the function F=(F₀, . . . , F₀). In certain embodiments F is specified in terms of the C_(ij) values and interpolation data.

In the following, the term geometric object includes data that represents 1) subsets of

^(n), 2) functions whose domain or range is included in

^(n), 3) information that is substantially constructed by set or tensor operations and other constructions familar in algebraic topology on 1), 2), or subclasses of 1) or 2). In particular data representing lists or sets of subsets of

^(n) or lists or sets of functions f:

^(n)→

are geometric objects, as are compound structures including CW-complexes. Also

^(n) is called an underlying n-space of f, if n is such that

^(n) appears in the definition of f as a geometric object.

A topological invariant numerical function, also called a topological numeric, for a class

of geometric objects is a method or rule for assigning numerical values to the geometric objects in the class in such a way that homeomorphic geometric objects are assigned the same value. The topology for the geometric objects in the class may be specified with the description of the topological numeric. In various embodiments, topological numerics will be presented in indexed families. For example, this includes the homology Betti numbers, the relative homology Betti numbers, the various cohomology Betti numbers, and the family of ranks of the homotopy groups.

For G a topological numeric defined on a class

of geometric objects, in various embodiments we may construct the function

, called the G-integral, defined on functions f:Dom→

, by

(f) = ∫₀^(∞)G(f⁻¹[t, ∞)) 𝕕t. Here Dom⊂∪

and f is such that f⁻¹[t,∞)∈

for all values of t. For example, when G_(i)=dimH_(i) then the G_(i)-integral is the homology integral

.

With classes

₁,

₂,

C₃ of geometric objects having a common underlying n-space

^(n),

₂ closed under translation in

^(n), and function *:

₁×

₂→

₃ and topological numeric G:

₃→

^(n) selected, in some embodiments we compute the G*-convolution for X₁∈

₁,X₂∈

₂ defined by the formula

X,Y

(x)=G(X*Y_(x)). Here Y_(x) is the translation of Y by X. When G is an indexed family of topological numerics, in certain embodiments the convolution may be extended to give an indexed family of values at each point x. For example, with X,Y:

^(n)→

⁺, G=dimH and *=

, then

X,Y

_(i)(x)=G_(i)(X*Y_(x))=dimH_(i)(X

Y_(x))=

X,Y

_(i)(x) and similarly with *=· multiplication,

X,Y

_(i)(x)=G_(i)(X·Y_(x))=

X,Y

)_(i)(x). In other embodiments the convolution may be defined with * operating on m-tuples of geometric objects, including the technique shown in Example 16. These embodiments and related embodiments involving a convolution procedure and a topological numeric are called are called topological convolutions.

These and other aspects will become clear to one of ordinary skill in the art after reading the following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a comparison between four solids.

FIG. 2 illustrates values of a function f:

^(n)→

⁺ whose homology integral is described and calculated.

FIG. 3 shows convolutions of a function or dataset A over a function or dataset X.

FIG. 4 shows selecting a function or dataset Y to detect structure in a function or dataset X.

FIG. 5 shows the topology and geometric structure of a set X in various r-neighborhoods.

FIG. 6 shows values for γ used to produce the iteration in Conway's Game Life. γ:

²→

⁺ by γ(0,0)=½, γ(a,b)=1 for 0<a²+b²<3, γ(a,b)=0 for a²+b²≧3

FIG. 7 illustrates approximate tangency relationships for a strand-like material.

FIG. 8 illustrates a step function h(t) for the purposes of comparing the homology integration to Morse Theory.

FIG. 9 illustrates an embedded 3-manifold with recognizable structure.

FIG. 10 is a flow chart of a first embodiment computing process.

FIG. 11 is a flow chart of a second embodiment computing process.

FIG. 12 is a flow chart of a third embodiment computing process.

FIG. 13 is a flow chart of a fourth embodiment computing process.

FIG. 14 is a flow chart of a fifth embodiment computing process.

FIG. 15 is a flow chart of a sixth embodiment computing process.

FIG. 16 is a flow chart of a seventh embodiment computing process.

DETAILED DESCRIPTION

§Overview

The morphology of a material or object may be described in very general terms using topology. This branch of mathematics gives quantities describing an object that are not dependent on specific length measurements. Usually the quantities take on integer values, such as the number of connected components, the number independent circuits, or the number of independent closed surfaces an object may have. For example the letter “B” has 1 connected component, 2 independent circuits and 0 independent closed surfaces; the letter “i” has 2 connected components, 0 independent circuits and 0 independent closed surfaces; a beach ball has 1 connected component, 0 independent circuits and one independent closed surface, and an inner tube (torus) has 1 connected component, 2 independent circuits, and 1 independent closed surface. The respective quantities would not change if the object were distorted continuously.

These topological quantities counting the number of connected components, the independent closed circuits, and independent closed surfaces of an object or material X are denoted by |H₀(X)|, |H₁(X)|, |H₂(X)| respectively, and are called the homology Betti numbers of X. Many similar quantities familiar in topology including cohomology, K-theory, and homotopy groups may be used analogously. Because the topological quantities do not depend on scale or proportion they are very useful for describing overall structure. For example, |H₁(X)| gives the number of holes in a rubber sheet X regardless of the individual shapes and overall arrangement of the holes. Software is publicly available to determine the homology of X. If X and Y are both circular rings, then using a property called relative homology one may immediately determine if the rings are linked or not. It would be difficult to provide this information using geometric properties based on length.

From a basic point of view many intuitive descriptions of objects X lie somewhere in between geometry and topology: Despite the contrary from topology, a ring appears linked on a finger, and a cup, due to gravity, is a closed surface for holding a beverage. What is needed is an algorithmic procedure for defining these intuitive properties of morphology.

The new methodology and related computer systems described herein gives a precise procedure for defining these useful morphology characteristics. The technology extends beautifully to describe biological tissue configurations, complex composite materials, and numerous other applications. The methodology also describes abstract configurations defined in arbitrary dimension, including financial data or experimental data in higher dimension. The technology may also be used to enhance existing data for clarity and interpretation, and to evolve data for other purposes.

The methods and related systems disclosed herein have applications for describing geometrical arrangements in material science, molecular biology, data science and physics, to name but a few. It also enables incomplete data to be enhanced to reveal its underlying structure, and for data to be evolved for interpretation and simulation. The methodology is in general a new language for interpreting and manipulating data, in particular for data describing objects in three-dimensional space.

Some of the novel steps described in the technical sections are repeated here in relatively simple terms. A complete description along with many other novel steps and procedures is given in the more technical description that follows this brief overview. Various embodiment steps include:

-   1. The generation of Betti numbers for fuzzy sets or functions, -   2. Computing the homology convolution function, -   3. Resolving the homology convolution function, and -   4. Iterations of the convolution.

For the first advance, we may generalize the Betti homology numbers to non-integer values. For a set X⊂

³, for i=0, 1, 2 the i^(th)-homology of X is the vector space H_(i)(X), and dimH_(i)(X)=|H_(i)(X)| gives the dimension of the vector space, called the i^(th)-homology Betti number of X. An innovation is to generalize from sets to fuzzy sets or functions with domain X.

Roughly speaking the points with highest values are in some sense the inner center of X, and we are successively widening the center to include points of lower values, taking the Betti numbers as we go and summing up the results by integration. For f:X→

recall that f⁻¹([t,∞)={x∈

³|f(x)≧t}. Define

i ⁢ ( f ) = ∫ 0 ∞ ⁢ dimH i ⁡ ( f - 1 [ t , ∞ ) ) ⁢ ⁢ ⅆ t dt and then

(f) may be called the homology integral of f. So

₀(f),

₁(f),

₂(f) relate to the number of connected components, independent circuits, and independent closed surfaces of f⁻¹([t,∞).

For each set X⊂

³ there is the standard characteristic function χ_(X) :

³→

⁺ that takes the value 1 on X and 0 at all point not in X. We may use this function in place of X so

(X) = (χ_(X)) = ∫₀^(∞)dimH(χ_(X)⁻¹[t, ∞)) 𝕕t = ∫₀¹dimH(χ_(X)⁻¹[t, ∞)) 𝕕t + ∫₁^(∞)dimH(χ_(X)⁻¹[t, ∞)) 𝕕t = ∫₀¹dimH(χ_(X)⁻¹[t, ∞)) 𝕕t + (0, 0, 0) = dimH(X). Generally if there is no source of confusion we will use sets and their characteristic function interchangeably in this way.

The second innovation described is the convolution. This takes the two sets X,Y or functions, and combines them to give local Betti numbers at each point in space. This may be done in the case of sets by considering X fixed and for each point x in space let Y_(x) denote the translate of Y by x. Then we may define

X,Y

by

X,Y

(x)=dimH(X∩Y_(x)). (For functions f,g we may define

⟨f, g⟩(x) = (f ⋅ g_(x)) = ∫₀^(∞)dimH(f ⋅ g_(x))⁻¹[t, ∞) 𝕕t.) For example if X is a block of material with morphology under investigation, Y may be considered a standardized core sample. So Y_(x) means take the core sample centered at x, and X∩Y_(x) cuts the sample from X. Thus

_(i)(X∩Y_(x)) gives the Betti numbers of the cut piece, and

X,Y

_(i)(x) shows the Betti numbers dependent on the location x where the sample is taken.

The overall effect is to consider the homology of X locally at each point x in a neighborhood of shape Y. This enables the broad structural concepts of homology to be customized by the geometry of Y. Y may be used as a probe to interpret X. The user also has complete flexibility in defining Y to elicit the features of X of interest to the given application.

Often the convolution

X,Y

may be calculated for a broader purpose of determining if X has a specific property or for describing a specific characteristic of X. The function

X,Y

=(

X,Y

₀,

X,Y

₁,

X,Y

₂) may need to be manipulated. For example, if X is a porous material and Y is a small ball, low

X,Y

₀ values with high

X,Y

₁ and

X,Y

₂ values may indicate good mechanical load transfer properties, and high

X,Y

₁ values may correspond to permeability. Once saturated high

X,Y

₀ and high

X,Y

₂ values may affect the retention of liquids in terms of adhesion and encapsulation, respectively. In this example, the user may then take weighted sums of the

X,Y

_(i), or form other combinations to produce a performance function p for the material X to compare locations x∈X for uniformity in p(x). The quantity p(x) may be integrated over a fixed sample size to compare various manufacturing procedures for making X. Samples X⁽¹⁾, . . . , X^((k)) may be catagorized as good or bad by their score in this integration, or grades may be assigned to the materials. This performance function may also be used for comparing different material compositions.

Depending on the application, linear and non-linear combinations of the

X,Y

_(i)(x), including taking pre-images and integrations, and combinations with metric quantities, may be selected to resolve the output of the convolution into more useful or accessible information.

In various embodiments for a given application, Y and the combination procedure for resolving

X,Y

(x) may be selected together in consideration of their mutual consequence. Likewise in certain embodiments the selection of g and the combination procedure may be selected for their collaborative effect. One of the values of this technology is that it provides a framework within which the user may select with great freedom and versatility the convolution probe Y or g and the convolution resolution procedure. With this framework and versatility the user may very precisely address the most numerous of morphology and configuration characteristics.

The third innovation discussed in general terms is the iteration. The convolution

X,Y

(x) gives three (when X,Y⊂

³) Betti numbers at each point x.

X,Y

₀(x),

X,Y

₁(x),

X,Y

₂(x) are respectively the number of connected components, independent circuits, and independent closed surfaces of X∩Y_(x). In the case of

f,g

_(i)(x) these three values may be non-integer. In either case by choosing i=0,1,2 we get a function F_(i)(x)=

X,Y

_(i)(x) or F_(i)(x)=

f,g

_(i)(x). The F₀, F₁, F₂ functions may then be evaluated as

(F_(i)) or the convolution may be reiterated as

F_(i),Z

(x) for a new probe set Z. In short,

X,Y

extracts from X three point clouds F₀, F₁, F₂ which in turn may be analyzed again by selection of Z and evaluating

F_(i),Z

. These functions may also be linearly or non-linearly combined to produce other functions F₁, i≧3, such as F₁₀=F₀+F₁−F₂/2, and these functions may also be reduced to sets or characteristic functions by taking thresholds such as χ_(F) _(i) ⁻¹ _([t,∞)) and other pre-images. The resulting sets and functions may then be iterated through another convolution to further extract the morphology data. For example, we may evaluate

X,F_(i)

,

X

F_(i),F_(j)

,

F_(i),F_(j)

, and many other variations including using funtion pairs for relative homology such as

X,(F_(i),F_(j))

It is also understood that it is sometimes preferable to substitute other topological invariants including cohomologies and K-theory into the procedures described herein. The substitutions may be done verbatim and should be thought of as implicitly disclosed in the following with each step described in terms of homology.

The techniques and generalizations described in the technical sections allow many kinds of morphology to be described that previously were non-quantifiable. In our regular three-dimensional space, this includes fiber arrangements, cellular structures, capillary patterns, bone tissue, coral-like structures, surface relief patterns, configurations in multiple materials, morphology densities and directional orientations, protein chain structures, nets and webs, object recognition, and many other structures that are commonly seen under a microscope. For example, having clusters of nodules surrounding their perimeter identifies some types of cancerous cells; the bundling characteristics of these nodule clusters may be quantified using this technology to enable computer scanning of tissue for cancer cells.

The methods disclosed give a broad tool for describing geometric configurations. Because of the nature of the invention it is conveyed most readily by using a mathematical vocabulary, with definitions and theorems interspersed with many examples. Many proofs are found in the provisional patent to which this application claims the benefit, and which is included herein by reference in its entirety.

§Betti Numbers for f:X→

⁺

By considering X⊂

^(n) as a characteristic function or more generally as the support of a function f:

^(n)→

⁺ we can generalize from the homology of sets to the homology of functions. Homology in this paper is preferably over the field

.

Definition 1. Let f:

^(n)→

⁺=[0,∞) be given. Define the n-tuple of Betti numbers

(f) by for i<n

i ⁢ ( f ) = ∫ 0 ∞ ⁢ dimH i ⁡ ( f - 1 [ t , ∞ ) ) ⁢ ⁢ ⅆ t

(f) is called the homology integral of f

Note in the notation f⁻¹([t,∞)) has been abbreviated to f⁻¹[t,∞). In general the integral may take the value +∞ but is well defined since the integrand is always positive. If one allows X⊂

^(n) to represent its characteristic function χ_(X) we have

(X)=

(χ_(X))=dim(H(X)). In some embodiments we use f:

^(n)→I=[0,1] or bounded f.

Example 2. Let f:

^(n)→

⁺ be 0 off an annulus and take the values as shown in FIG. 2. Then

${{(f)} = {{\int_{0}^{1}{{{dimH}_{i}\left( {f^{- 1}\left\lbrack {t,1} \right\rbrack} \right)}\ {\mathbb{d}t}}} = {{{\int_{\frac{1}{2}}^{1}\ldots} + {\int_{\frac{1}{3}}^{\frac{1}{2}}\ldots} + \int_{0}^{\frac{1}{3}}} = {{{\frac{1}{2}\left( {2,1} \right)} + {\frac{1}{6}\left( {1,3} \right)} + {\frac{1}{3}\left( {1,1} \right)}} = {\left( {{1\frac{1}{2}},{1\frac{1}{3}}} \right).}}}}}\ $

In the case where f:

^(n)→

⁺ is

¹ and the support f is compact, then by Sard's Theorem the critical values of f form a closed set of measure zero, and the regular values are the union of open intervals (t₀,t₁) where for t∈(t₀,t₁), there is a natural diffeomorphism f⁻¹(t)×(t₀,t₁)≅f⁻¹(t₀,t₁) and H(f⁻¹[t,∞)) is constant on this interval. Thus ∫_((t) ₀ _(,t) ₁₎ dimH(f⁻¹[t,∞))dt=(t₁−t₀)·dimH(f⁻¹[t,∞)). In particular if dimH(f⁻¹[t,∞)) is bounded on t∈

⁺ then

(f)<∞.

To illustrate the definition of

we have

Proposition 3. Let X⊂

^(n) with an ε-tubular neighborhood approximation X_(ε)=Nbd_(ε)(X). Let f:[0,ε]→[0,1] be any weakly decreasing function with f(0)=1. Define X_(f):

^(n)→I by X_(f)|_(X) _(ε) =f(dist(x,X)) and X_(f)|

_(n) _(\X) _(ε) =0. Then

(X)=

(X _(f))=

(X _(ε))

Proof: The sets X_(f) ⁻¹[t,1], t∈[0,1], form a nested sequence of isotopic sets. Thus t

dimH(X_(f) ⁻¹[t,1])) is a constant function and

(X_(f))=∫₀ ¹dimH(X_(f) ⁻¹[t,1]))dt=(1−0)·dimH(X).▪

In certain embodiments, the functions will have finite homology, as defined next.

Definition 4. Let f:

^(n)→

⁺. Let t∈

⁺. Call t a transitional value iff ∀ε>0, ∃s ₁ ,s ₂∈(t−ε,t+ε), s ₁ <s ₂, so that the induced map H(f ⁻¹ [s ₂,∞))→H(f ⁻¹ [s ₁,∞)) is not an isomorphisms. Call the set of t∈

⁺ that does yield the isomorphism the persistent values of f. Say f has finite homology iff it both has a finitely many transitional values and for all t∈

⁺, f⁻¹[t,∞) has finitely generated homology. Let the transitional set and persistent set refer to the pre-image of the transitional and persistent values of f.

One advantage of using functions with finite homology is that the integral reduces to a finite sum:

Proposition 5. If f:

^(n)→

⁺ has finite homology and {t_(i)|0≦i≦k} is its increasing sequence of transitional values then

$\left. {{(f)} = {\sum\limits_{i = 1}^{k}\;{\left( {t_{i} - t_{i - 1}} \right) \cdot {{dimH}\left( {f^{- 1}\left( {t_{i - 1},\infty} \right\rbrack} \right)}}}} \right) < \infty$

Proof: By hypophysis on each index i<n for t∈(t_(i−1),t_(i)), dimH_(i)(f⁻¹(t_(i−1),∞]) has a finite constant value. The values on the transitional set {t_(i), . . . , t_(k)} are also finite and the set has measure zero. The integral converges as shown.▪

Sometimes it is preferred to use a finite set {t₀, . . . , t_(k)} properly including the transitional values, and the summation in the proposition will still hold.

In an embodiment below we describe an analylitc method for determining a set {t₀, . . . , t_(k)} containing the transitional values. The next comment recalls the critical set of f|_(X) is either on ∂X or where Df=0.

Theorem 6. Let X⊂

^(n) be a compact smooth m-manifold with boundary ∂X, and f:

^(n)→

⁺ smooth. Then the critical values of f in X and the critical values of f|_(∂X) include the transitional values of f·χ_(X). More specifically if dimH_(i)(f|_(X) ⁻¹(t,1])<∞ for all t∈

⁺, i≦n and f(df⁻¹(0)∩X)∪f(d(f|_(∂X))⁻¹(0)) is finite then f·χ_(X) has finite homology, and with (t₀< . . . <t_(k)) the ordered sequence representing the combined critical values we have

${(f)} = {{\sum\limits_{i = 1}^{k}\;{\left( {t_{i} - t_{i - 1}} \right) \cdot {{dimH}\left( {f^{- 1}\left( {t_{i - 1},\infty} \right\rbrack} \right)}}} < \infty}$

As the design and coding of software for determining the critical values of f and f|_(∂X) and for evaluating homology on sets is known, this theorem provides a procedure and summation formula for determining χ. The result may be extended to show piecewise polynomial functions have finite homology.

Definition 7. Let f,g:

^(n)→

⁺ be functions. Define (f

g)(x)=max(f(x),g(x)) and (f

g)(x)=min(f(x),g(x)).

The Mayer-Vietoris sequence applies to these integrals.

Theorem 8. Let f,g,f

g,f

g:

^(n)→

⁺ be functions with finite homology. Then there is the long exact sequence of Betti Numbers . . . →

_(i)(f

g)→

_(i)(f)+

_(i)(g)→

_(i)(f

g)→

_(i−1)(f

g)→ . . .

In some applications it is preferred to use functions taking positive and negative values. For f:

^(n)→

⁺, assigning f(x)=0 may have the effect of x∉Domain(f), the intention is particularly evident in supp(χ_(X))=X. For functions with values in

we may prefer to explicitly state the domain of f.

Definition 9. Let compact X⊂

^(n), and f:X→

be given. Then

${(f)} = {\lim\limits_{a\rightarrow{- \infty}}\left( {{\int_{a}^{\infty}{\dim\mspace{11mu}{H\left( {f^{- 1}\left\lbrack {t,\infty} \right)} \right)}\ {\mathbb{d}t}}} + {a\mspace{11mu}\dim\mspace{11mu}{H(X)}}} \right)}$

For functions f:

^(n)→

, with Range(X)≧0 and X=f⁻¹(0,∞) both definitions

(f|

⁺ )=

(f|_(X)) agree, and the limit will have stabilized for any a≦min(f(X)). In this context for X⊂

^(n), the characteristic function χ_(X) may be re-defined so Domainχ_(X)=X and Rangeχ_(X)=1.

Other homology concepts such as relative homology may be defined.

Definition 10. Let f,g:

^(n)→

⁺, f≧g. Then the homology of f relative to g is defined by

(f, g) = ∫₀^(∞)dimH(f⁻¹[t, ∞), g⁻¹[t, ∞)) 𝕕t If f≧g, then define

(f,g)=

(f

g,g)=

(f,f

g).

In particular for sets Y⊂X⊂

^(n) and their characteristic functions,

${\left( {X,Y} \right)} = {{{H\left( {X,Y} \right)}\mspace{14mu}{and}\mspace{14mu}\left( {X,{\frac{1}{2}Y}} \right)} = {\left( {{H(X)} + {H\left( {X,Y} \right)}} \right)/2}}$

In many applications it is preferred to use relative homology in

, and the opportunity for substitution will be implicitly known throughout this disclosure. It is sometimes preferred to use multi-valued functions as described below.

Definition 11. Let f_(i):

^(n)→

⁺, 1≦i≦k. Say ∪{f_(i)|1≦i≦k} has finite homology if ∀t∈

⁺, H(∪_(i≦k)f_(i) ⁻¹(t)) is finite, and for only finitely many t₀∈

⁺, is it true that ∀ε>0, ∃s₁, s₂∈(t−ε,t+ε), s₁<s₂, such that the induced map H(∪_(i≦k) f _(i) ⁻¹ [s ₂,∞))→H(∪_(i≦k) f _(i) ⁻¹ [s ₁,∞)) is not an isomorphism. Call the set of t₀ that do not generate the homology isomorphisms the transitional values, and the t∈

⁺ that do the persistent values, of ∪{f_(i)|1≦i≦k}.

With multi-valued functions we may also use the summation formula:

Theorem 12. Let f_(i):

^(n)→

⁺ be given with ∪{f_(i)|1≦i≦m} having finite homology. Let (t₀< . . . <t_(k)) be the ordered sequence of transitional values. Then

${\left( {\bigcup\limits_{i \leq m}f_{i}} \right)} = {{\int_{0}^{\infty}{\dim\mspace{11mu}{H\left( {\bigcup\limits_{i \leq m}{f_{i}^{- 1}\left\lbrack {t,\infty} \right)}} \right)}\ {\mathbb{d}t}}} = {{\sum\limits_{i = 1}^{k}\;{\left( {t_{i} - t_{i - 1}} \right) \cdot {{dimH}\left( {\bigcup\limits_{i \leq m}{f^{- 1}\left( {t_{i - 1},\infty} \right\rbrack}} \right)}}} < \infty}}$

§Local Sampling and Convolution

We wish to measure the homology of a set locally in a region around each point.

Definition 13. Let f,g:

^(n)→:

⁺. For x∈

^(n) let g_(x):

^(n)→

⁺ be given by g_(x)(y)=g(y−x). Then define

f,g

:

^(n)→

^(+n) by

⟨f, g⟩(x) = (f ⋅ g_(x)) = ∫₀^(∞)dimH(f ⋅ g_(x))⁻¹[t, ∞)𝕕t Also for X,Y⊂

^(n), define

f,X

=

f,χ_(X)

,

X,f

=

χ_(X),f

, and

X,Y

=

χ_(X),χ_(Y)

.

Naturally

f,g

(x)=

g,f

(−x). For B₀={0}⊂

^(n),

f,B₀

)₀=f and

f,B₀

_(i)=0, i≧1. Let B_(r,x) denote the ball of radius r centered at x and B_(r)=B_(r,0). Then

X,B_(r)

has support X_(r)={x|dist(x,X)≦r} with

X,B_(r)

_(i)(x) counting the number of i-cycles in X∩B_(r,x).

To illustrate the procedure in FIG. 3 a 1-cycle A is convolved over a set X. In the upper left hand corner X is shown and in the lower left corner some of the translations of A shown along with the envelopes where the convolution values change. The center and right upper images are

X,A

₀,

X,A

₁, with the white areas having value 0, the hashed areas having value 1, and the solid areas having value 2. The Euler characteristic χ

X,A

is shown in the lower center. The relative homology (Definition 14) difference

X,B

₁−

X,(B,A)

₁, expressing the non-triviality of A∩X in B∩X, is shown in the lower right, where B is the square disk with boundary A. The lower right figure also expresses

X,B

₁, but the reader may check the equality of the two expressions is a coincidence due to the coarseness of X.

Clearly other functions than the linear combinations giving the Euler characteristic or relative homology difference may be used to illuminate the geometry in X. Choosing A to reflect known expectations on X, or various functions A₁ . . . A_(k) and taking combinations of their results, could also enable the local topological features to be extracted. This is shown in various embodiment flow charts disclosed herein.

An illustration convolving with one set is given in FIG. 4, where the set X is a collection of discrete points. This set X has almost trivial topology, but appears to be arranged nearly in some orthogonal spacing. The set Y is chosen to bring out the arrangement of X. The third image in the figure is

X,Y

₀ ⁻¹[3,∞) and represents the points in the plane where the center of Y may be translated to have intersections with at least three components of X.

This isolation of qualities of X applies to homology features in higher dimensions too. By choosing Y so that X∩Y_(x) displays the homology features of interest,

X,Y

_(i) may give information on the i-cycles around each x. More general functions

X,f

, relative homology, and formal sums (Definition 17) of the convolution functions may also be useful. The many applications include data and image enhancement for material science and biomedicine.

In a particular embodiment the convolution may also be performed with relative homology.

Definition 14. Let f,{tilde over (f)},g,{tilde over (g)}:

^(n)→

⁺ be given, with f≧{tilde over (f)}, g≧{tilde over (g)}. Define

${\left\langle {\left( {f,\overset{\sim}{f}} \right),g} \right\rangle(x)} = {\int_{0}^{\infty}{{{dimH}\left( {{\left( {f \cdot g_{x}} \right)^{- 1}\left\lbrack {t,\infty} \right)},{\left( {\overset{\sim}{f} \cdot g_{x}} \right)^{- 1}\left\lbrack {t,\infty} \right)}} \right)}{\mathbb{d}t}}}$ ${\left\langle {f,\left( {g,\overset{\sim}{g}} \right)} \right\rangle(x)} = {\int_{0}^{\infty}{{{dimH}\left( {{\left( {f \cdot g_{x}} \right)^{- 1}\left\lbrack {t,\infty} \right)},{\left( {f \cdot {\overset{\sim}{g}}_{x}} \right)^{- 1}\left\lbrack {t,\infty} \right)}} \right)}{\mathbb{d}t}}}$

For example in three dimensions with X resembling Swiss cheese and 0≦ε≦1, then

X,(B_(r),ε∫B_(r)))₂(x) gives the number of bubble-holes entirely within B_(r,x), plus ε times one less than the number of partial bubble-holes exposed on the boundary of B_(r,x).

In other embodiments we may also define the interaction of f and g in the convolution by other means, such as

Definition 15. Let f,g,:

^(n)→

⁺ be given. Define

$\begin{matrix} {{f},{{g(x)} = {{\int_{0}^{\infty}{{{dimH}\left( {\left( {f ⩓ g_{x}} \right)^{- 1}\left\lbrack {t,\infty} \right)} \right)}{\mathbb{d}t}}} = {\left( {f ⩓ g_{x}} \right)}}}} & \; \end{matrix}$

In light of Theorem 8 this new convolution has certain advantages. Note that for X,Y⊂

^(n), with Y_(x) denoting the translation by x,

X,Y

(x)=H(X∩Y_(x))=

X,Y

(x), and the two convolutions are in agreement, and point out the homology integral is independent from defining the homology convolution for sets. While not additive we do have for a∈

⁺, a

f,g

=

af,g

=

f,ag

and a

f,g

=

af,ag

. Other convolutions may be defined. A general notation having great flexibility uses a subscript dot to indicate which sets are being translated by the convolution and is illustrated by

Example 16. Let

((X + f_(•))² ⩓ g_(•), Y + h_(•))(x) = ∫₀^(∞)dimH((X + f_(x))² ⩓ g_(x), Y +   h_(x))⁻¹[t, ∞))𝕕t

It is also preferred to perform

f,g_(i)

for various g_(i):

^(n)→

⁺ and then compute linear combinations of the results. For this one may define formal sums of functions.

Definition 17. Let α_(i)∈

, g_(i):

^(n)→

. We may define G=Σ_(i≦k)α_(i)g_(i) so that

(G)=Σ_(i≦k)α_(i)

(g_(i)).

The product of formal sums may be defined as the sum of the term by term products. Then

f,G

=Σ_(i≦k)α_(i)

f,g_(i)

. An embodiment used repeatedly in this disclosure is, for A⊂B_(r), the formal sum G=B_(r)−(B_(r),A) which yields the function f

f,G

, where

f,G

=

f,B _(r)

−

f,(B _(r) ,A)

In the case f=χ_(X) this reduces at x∈

^(n) to dimH(X∩B_(r,x))−dimH(X∩B_(r,x),X∩A_(x)), which indicates the homology of A_(x) in X∩B_(r,x), or more precisely the localized effect of identifying A_(x) to a point.

§Constructing Equivalences

Subsets of

^(n) may be isometric, homotopic, diffeomorphic, and compared with other equivalences. Definition 13 gives us maps F_(i)=

X,f

_(i) from

^(n)→

⁺ for each homology index 0≦i≦n. By using any invariant or equivalence relation on this n-tuple of maps we can construct invariants or equivalence relations on X⊂

^(n). For maps F,{tilde over (F)}:

^(n)→

^(+n) there are many equivalences available.

Example 18. Call F≃{tilde over (F)} if (select one)

-   1. ∃ an isometry A:     ^(n)→     ^(n) such that F={tilde over (F)}∘A -   2. ∃ an isometry A:Support(F)→Support({tilde over (F)}) such that     F={tilde over (F)}∘A -   3. ∃ a diffeomorphism A:     ^(n)→     ^(n) such that F={tilde over (F)}∘A -   4. ∃ a diffeomorphism A:Support(F)→Support({tilde over (F)}) such     that F={tilde over (F)}∘A -   5. ∃ a diffeomorphism A:     ^(n)→     such that A(F₀ ⁻¹ [3,∞ ))={tilde over (F)} ₀ ⁻¹[3,∞) -   6. ∃ a diffeomorphism A:     ^(n)→     such that for each i, A(D(F_(i))⁻¹(0))=D({tilde over (F)})⁻¹(0) -   7. ∃ a diffeomorphism A:     ^(n)→     ^(n) such that for each i, A(|D²(F_(i))|⁻¹(0))=|D²({tilde over     (F)}_(i))|⁻¹(0) -   8. ∃ a diffeomorphism A:     ^(n)→     ^(n) such that for each i, A(Δ(F_(i))⁻¹[0,∞))=Δ({tilde over     (F)}_(i))⁻¹ [0,∞ ) -   9.     (F_(i))=     ({tilde over (F)}_(i)) for each i.

Homeomorphisms, linear groups and types of functions other than diffeomorphism give equivalences similar to Cases 1-4. In Case 5, the projection onto the 0-coordinate could be replaced by any function p:

^(n)→

. In Case 6,7 and 8, F,{tilde over (F)} are assumed to be

¹ or

² so that the definitions apply. Equivalences can be defined or mixed and matched on each index value of F separately, generating a large lattice of equivalences. Invariants on these equivalence classes or others can be easily produced such as by counting features like the number of local maxima that F may have. Case 9 is not dicussed in this section but mentioned in prelude to the iterative techniques of §Iterations. Case 3 with F=

X,B_(r)

and other combinations are illustrated below.

Definition 19. For X and {tilde over (X)} subsets of

^(n), X≈{tilde over (X)} will denote equivalence under ambient diffeomorphism of

^(n). For f,{tilde over (f)}:

^(n)→

⁺ let f≈{tilde over (f)} denote there exist a diffeomorphism A:

^(n)→

^(n) such that f∘A={tilde over (f)}, and let

X,f

≈

{tilde over (X)},f

denote there is a diffeomorphism A:

^(n)→

^(n) such that

X,f

_(i) ∘A=

{tilde over (X)},f

_(i) for all i≦n

Theorem 20. For r∈

⁺∪{∞}, define B_(r)={x∈

^(n)|∥x∥≦r}. (So B₀={0} and B_(∞)=

^(n)). Define the equivalence relation ≈_(r) on X,{tilde over (X)}⊂

^(n) by X≈ _(r) {tilde over (X)}

X,B _(r)

≈

{tilde over (X)},B _(r)

Then ≈_(r) is a “continuously indexed” family of equivalence relations that spans from ambiently diffeomorphic to homologous.

This shows how we may construct broad classes of equivalence relations. The uses for ≈_(r) for r finite are illustrated in the following introductory example. FIG. 1 page 58 shows four 3-manifolds of genus 2 formed by attaching handles to a ball of radius R. The manifolds are intrinsically diffeomorphic and thus all homologous, a≈_(∞)b≈_(∞)c≈_(∞)d. Only d is distinct by ambient diffeomorphism of

^(n), so a≈₀b≈₀c, but c≈₀d. It can be shown that for r on a range of values near R/4, a≈_(r)b, but there are no other related pairs, expressing the intuitive idea of bulk diffeomorphisms. It may be there is a value for r near 1.8R so that a≈_(r)b≈_(r)d, but a≈_(r)c, expressing the independent spacing of the loops. Furthermore, by using the invariant that counts the number of local maxima of

X,g_(r)

₁ it appears for r=2.5R that a and d each have two maxima and b and c each have one, and that for r=R that a, b, d each have two maxima while c has one, expressing the broad distances between loop regions. Also for r near the scale of the handles,

X,B_(r)

₀ will detect the cluttering in c and d with higher values than it will for a and b. In short, the intuitive ways of describing sameness may be quantified with this methodology.

In this section we have constructed some indexed families of equivalence relations. One may choose bump functions on g_(r):B_(r)→

⁺ or employ other test functions similar to g_(r) with optionally changing the support from B_(r) to ellipsoids, tori, disconnected sets, and sets with specific shapes; in each case the n-dimensional information

X,g_(r)

could be tailored to give equivalence relations useful in diverse contexts. A general applications for interpreting data was shown in Example 4. By selecting from the equivalences of Example 18, by using other convolutions (including Definition 15 and Example 16), employing formal sums of sampling functions, by iterating the convolutions (§Iterations), by using lattice operations in the set of equivalences relations, and by defining more general integrals (§Morse Theory) we have a great opportunity to compare and analyze the embeddings of objects in

^(n). Many applications for isolating desired geometrical structures on X⊂

^(n) are described in §Applications for Medicine and Industry.

§Iterations

Consider X⊂

^(n) with complicated homology or even a discrete union of contractible sets. We will disclose invariants on the spatial arrangement of the homology features of X. One may choose a set Y⊂

^(n) illuminating the shape of X and evaluate

X,Y

as in FIG. 4. Alternatively we may adjust the X term of

X,Y

. For r≧0 define X _(r) ={x∈

^(n)|dist(x,X)≦r} and X _(−r) ={x∈

^(n)|dist(x,

^(n) \X)≧r}

Note how the homology changes with respect to r. As r increases, with new tangencies H₀(X_(r)) may decrease, while H₁(X_(r)), H₂(X_(r)) and any higher terms may fluctuate. FIG. 5 illustrates how the homology and spatial structure changes with the r-neighborhood.

For non-convex X, the decreasing sequence of nested sets X_(−r) expresses the spatial arrangement of the non-convex features in terms of topological quantities, and the increasing sequence expresses the topology of an positional structure on the arrangement of connected components. The effect may have applications in three dimensions for material science. Choosing f:

^(n)→

⁺ and putting f_(s)(x)=f(x/s), the convolutions {

X_(r),f_(s)

|r∈

, s∈

⁺} and {

X_(−r),f_(s)

|r∈

, s∈

⁺} are doubly-indexed families of maps from

^(n) to

^(n) which may be used in interpreting X.

To obtain other multiply indexed families observe that

X_(r),f_(s)

=

X,B_(r)

₀ ⁻¹[1,∞),f_(s)

. It may be preferred to apply a similar iteration for functions f_(i):

^(n)→

⁺

X,f ₁

_(i) ₁ ,f ₂

_(i) ₂ , . . . f _(m)

_(i) _(m) to give more controlled interpretation of X. If each f_(i) has scaling factor r_(i) (or other parameter) we now get an n-dimensionally indexed family of maps from

^(n) to

^(n). Also the projection onto the i_(k) coordinate may be replaced with other functions

^(n)→

⁺. This gives a multi-variable extraction of the information in X.

Another embodiment applies the iteration to simulate dynamic effects of objects. For example Crystal growth with Wulf shape W⊂

³ may be modeled as

. . .

X,w

₀,w

₀,w

₀, . . .

₀ for w a nearly infinitesimal W. Selecting w to resemble Y from FIG. 4, may also produce crystal growth effects. In another illustrative embodiment we have

Example 21. Conway's Game “Life” Let X⊂

². Define γ:

²→

⁺ by γ(0,0)=½,γ(a,b)=1 for 0<a ² +b ²<3,γ(a,b)=0 for a ² +b ²≧3 Put X⁰=X, and X^(n+1)=

X^(n),γ

₀ ⁻¹[2.5,3.5]. Then n

X^(n) is the iteration in Conway's game of Life.

Proof: The FIG. 6 shows the values of γ. For a point to survive its possible number of neighbors are ([2.5,3.5]−0.5)∩

={2,3} neighbors, and for a new point to appear possible number of neighbors are ([2.5,3.5]−0)∩

={3}.▪

We may iterate as in Game of Life using higher homology information. The next embodiment was suggested by a materials problem in calculus texts.

Example 22. Sand Example

Consider a (finite) CW-complex X⊂

³, perhaps with spacious tiers of sculptural curvature. An idealized sand is known to form cone-shaped mounds of fixed ascent angle when poured onto a horizontal surface. Let C be the infinite solid cone with vertex the origin defined by extending one of the mounds of sand downward. Assume the surface of X is roughened in effect like the sand. In this application the problem is to determine if the sand precipitates from

³\X and falls by gravity, what will the final accumulation of the sand look like on X?

The final state, with notation from Example 16, may be given by the iteration: X⁰=X and X^(n+1)⊂

by X^(n+1)=(

((X^(n)

C_(●))

∂C_(●))₂−

((X^(n)

C_(●))

(∂C\{0})_(●))₂+

(X^(n)

{0}_(●))₀)⁻¹{1,2}

If X is convex then the sequence stabilizes after one iteration, and in general it usually converges in a few steps. A complete discussion would require additional hypotheses on the sand's properties in compound cones.

As with crystal growth there is a state of the art approach using dynamical systems that models the granular interactions between the particles. In these examples and other application the user may use formal linear sums of convolutions and other non-linear combinations to more rapidly find steady states or other solutions for dynamical system problems. For instance, a formal sum of convolutions analogous to the example above may be used to express droplet formation on X under cohesive and adhesive forces, or drug targeting in micro-biology.

There are many applications for these iterations, as shown in the data extraction examples, the evolution properties in the Conway example, and the direct solution in the sand example.

§Morse Theory and Other Integrals

Let X⊂

^(n) be a smooth manifold and f:

^(n)→

⁺ a Morse function for X. There is an overlap in calculating

(f·X) and using Morse Theory to determine H(X). FIG. 8 will illustrate the case where f·X has critical points (t₁,t₂,t₃,t₄) and the minimum and maximum values of f are given by respectively t₀=0 and t₅, and these are not achieved on X. In the figure h(t)=dimH((f·X)⁻¹[t,∞)), so h(t₀)=dimH(X) and h(t₅)=(0, . . . , 0). The step function in the picture symbolically indicates the Betti numbers in a given dimension. To see the comparison, the incremental construction of X in Morse Theory is done downward from ∞ to 0.

With Morse Theory one essentially does the integration

dimH(X) = h(t₀) = h(t₅) − ∫_(t₀)^(t₅)h^(′)(t) 𝕕t = ∫_(t₅)^(t₀)h^(′)(t) 𝕕t

As h is a step function, h′ is zero away from (t₁,t₂,t₃,t₄), and must be interpreted as a the test functions at the singular points. The calculation for

(f·X) employs the same simple approach, but one integrates to get the area under the curve. We have

(f ⋅ X) = ∫_(t₀)^(t₅)h(t) 𝕕t

Using integration by parts we also have

∫_(t₅)^(t₀)t ⋅ h^(′)(t) 𝕕t = t ⋅ h(t)_(t₅)^(t₀)−∫_(t₅)^(t₀)h(t) 𝕕t = ∫_(t₀)^(t₅)h(t) 𝕕t = (f ⋅ X)

To emphasize the comparison, the test function h′ may be re-formulated as

${g(t)} = {{\lim\limits_{\varepsilon\rightarrow 0}{\int_{t + \varepsilon}^{t - \varepsilon}{{h^{\prime}(t)}\ {\mathbb{d}t}}}} = {\lim\limits_{\varepsilon\rightarrow 0}\left( \left( {{h\left( {t - \varepsilon} \right)} - {h\left( {t + \varepsilon} \right)}} \right) \right.}}$

One gets for Morse Theory

${\dim\mspace{11mu}{H(X)}} = {{\int_{t_{5}}^{t_{0}}{{h^{\prime}(t)}\ {\mathbb{d}t}}} = {\sum\limits_{i = 1}^{4}\;{g\left( t_{i} \right)}}}$ and for the homology integral

${\left( {X \cdot f} \right)} = {{\int_{t_{5}}^{t_{0}}{{t \cdot {h^{\prime}(t)}}\ {\mathbb{d}t}}} = {\sum\limits_{i = 1}^{4}\;{t_{i} \cdot {g\left( t_{i} \right)}}}}$

Both equations can be seen directly, the Morse Theory summation as a telescoping sum

${\dim\mspace{11mu}{H(X)}} = {{{h\left( {t_{0} + \varepsilon} \right)} - {h\left( {t_{4} + \varepsilon} \right)}} = {{{\sum\limits_{i = 1}^{4}\;{h\left( {t_{i - 1} + \varepsilon} \right)}} - {h\left( {t_{i} + \varepsilon} \right)}} = {{{\sum\limits_{i = 1}^{4}\;{h\left( {t_{i} - \varepsilon} \right)}} - {h\left( {t_{i} + \varepsilon} \right)}} = {\sum\limits_{i = 1}^{4}\;{g\left( t_{i} \right)}}}}}$

As h(t_(i)+ε) may be used to represent the constant value of h(t), for t_(i)<t<t_(i+1) the homology integral

is seen simply through the step function as

${\int_{t_{0}}^{t_{5}}{{h(t)}\ {\mathbb{d}t}}} = {{\sum\limits_{i = 0}^{4}\;{\left( {t_{i + 1} - t_{i}} \right){h\left( {t_{i} + \varepsilon} \right)}}} = {{{\sum\limits_{i = 0}^{4}\;{t_{i + 1}{h\left( {t_{i + 1} - \varepsilon} \right)}}} - {\sum\limits_{i = 0}^{4}\;{t_{i}{h\left( {t_{i} + \varepsilon} \right)}}}} = {\sum\limits_{i = 1}^{4}\;{t_{i} \cdot {g\left( t_{i} \right)}}}}}$

The function g(t)=lim_(ε→0)((h(t−ε)−h(t+ε)) is the limiting differences in the homologies of the half-line preimages f⁻¹[t−ε,∞) and f⁻¹[t+ε,∞). Up to Euler Characteristic, the limiting difference may also be expressed locally at t using relative homology as ĥ(t)=lim_(ε→0)dimH(f ⁻¹ [t,t+ε),f ⁻¹(t,t+ε])

To do this we may choose ε smaller than the inter-spacing between the singular values so the limits are stabilized. By homotopy and excision we have ĥ(t)=dimH(f ⁻¹ [t−ε,t+ε),f ⁻¹(t,t+ε])=dimH(f ⁻¹ [t−ε,∞),f ⁻¹ [t+ε,∞))

From the relative homology long exact sequence of Betti numbers on H_(i)(f⁻¹[t−ε,∞), f⁻¹[t+ε,∞)) this gives →h _(i)(t+ε)→h _(i)(t−ε)→ĥ(t)→h _(i−1)(t+ε)→

The Euler Characteristic equation on this exact sequence gives χ(ĥ(t))=χ(h(t−ε))−χ(h(t+ε))=χ(g(t))

So in terms of ĝ(t), the relative homology at t, one gets for Morse Theory

${\chi\;{H(X)}} = {{\chi{\sum\limits_{i = 1}^{4}\;{g\left( t_{i} \right)}}} = {\sum\limits_{i = 1}^{4}\;{\chi{\hat{h}(t)}\left( t_{i} \right)}}}$

and for the homology integral

${\chi\;\left( {X \cdot f} \right)} = {{\chi{\sum\limits_{i = 1}^{4}\;{t \cdot {g\left( t_{i} \right)}}}} = {\sum\limits_{i = 1}^{4}\;{{t \cdot \chi}{\hat{h}\left( t_{i} \right)}}}}$

These comparisons of Morse Theory as ∫h′ and

as ∫h or ∫th′ illustrate how in some embodiments higher order integrals and the insertion of kernels such as

∫₀^(∞)K(t)  dimH(f⁻¹[t, ∞)) 𝕕t may be used to give variations on

. For instance we may soften the transition from t to (t,t+ε] as in

∫₀^(∞)∫₀^(∞)K(s)  dimH(f⁻¹([t, ∞), [t + s, ∞)) 𝕕s𝕕t/∫₀^(∞)K(s) 𝕕s where K(s) may be as simple as χ_([0,1]). One may also choose f:

^(n)→

² (or higher m>2) and evaluate

∫₀^(∞)∫₀^(∞)dimH(f⁻¹([s, ∞) × [t, ∞)) 𝕕s𝕕t and other variations.

§Convolution Bundles

In the next embodiment we expand the convolutions

f,g

and

f,g

, from operating on functions f,g:

^(n)→

⁺ to operating on families of these functions. Let G be a collection of maps g:

^(n)→

⁺. Define

f,G

:

^(n)×G→

^(n) by

f,G

_(i)(x,g)=

f,g

_(i)(x) So each point x has a family of convolution values indexed by G. From here we may wish to take the infimum or supremum over G at each point x∈

^(n), integrate over G at each point x∈

^(n), consider the total bundle with fiber G, or take other advantage of the structure of G.

Consider several spliced ropes arranged in three-space. For simplicity neglect the braiding or twisting in the manufacture of the ropes, and notice the graph diagram on how the strands from the ropes are interlaced into each other. FIG. 7 suggests some of the features for consideration for the clustered strand patterns.

One approach to saying when two clustered ropes X and Y in three-space are equivalent illustrates the idea of the convolution bundle. The method applies to comparing polymer chains and other applications. An estimate is first taken to formalize how close the ropes need to be to constitute tangency. The rope thickness, tangency spacing, and larger feature scales are preferable separated by orders of magnitude. Let D be a disk of diameter 10 times the tangency spacing. Let G be the collection of all rotations of D centered at the origin, so G is indexed by the projective plane

². Thus

X,G

₀ gives a value for the elements of the bundle η having base space

³ and fiber

².

Example 23. Say X is equivalent to Y if there is a bundle map A:η→η such that for all x∈

³ and ρ∈

²,

X,G

₀(x,ρ)=

X,G

₀(A(x,ρ))

The disk D detects the number of strands that cross it, taking higher values when the disk is transverse to the rope clusters, but D should be small enough to miss the broader distances between the strands. The importance here is that the bundle map enables the disk to rotate between rope clusters, so that the topology of the configuration is only noticed.

For greater precision the convolution may be modified by replacing the disk with a solid cylinder C with ends D′, D″. Put Z to equal the formal sum (C,D′∪D″)−(C,D′)−(C,D″) so that

X,Z

₁ counts only the strands in C that reach from D′ to D″. Now G=(ρ(Z)|ρ∈

²) is all rotations of the relative sets centered at the origin. Then we may define X and Y to be equivalent if there is a bundle map A:η→η satisfying

X,G

₁(x,ρ)=

Y,G

₁(A(x,ρ)). The height of the cylinder C reduces the effect the curvature had on D. Of course other functions beside the characteristic functions given, or linear or non-linear formal combinations of them may be used to further tailor the equivalence relation to a specific task. Other examples would also illustrate the point that the bundle map allows the convolution to rotate with X further improving the convolutions sensitivity to isolate the crucial structure.

More generally this example extends including the case where X is a higher dimensional CW-complex with additional structure and G is any collection of sets. Then X and Y are equivalent if there is a bundle map on

^(n)×G showing an equivalence on

X,G

and

Y,G

.

Example 24. Suppose X⊂

³ resembles a 1-skeleton web or net.

This is a frequent problem of determining a surface from edge data in a computer model. The web may be multi-sheeted and/or thickened such as an ε-neighborhood of a 1-skeleton. The idea is that X can be extended to a 2-complex forming the sheets of the web. Our goal is to find the best fitted 2-complex.

Preferably the strand diameter of the web, the diameter of the holes in the web, and the inter-spacing between the sheets of the web are separated by orders of magnitude. Let c denote the average diameter of the suggested 2-cells on the web. Define g:

³→

, where r=√(x₁ ²+x₂ ²), for r<2c and |x₃|<c/10, by

${g\left( {x_{1},x_{2},x_{3}} \right)} = {\left( {1 - \frac{r}{2c}} \right)\left( {1 - \frac{10{x_{3}}}{c}} \right)}$ and g is zero elsewhere. The support of g is a disk of radius 2c and thickness c/5, with values tapering to 0 at the boundaries. Let G={g∘ρ|ρ∈

²}. Then F=∫ _(G)

X,G

₁(x,g)dg measures the occurrence of disks g_(ρ) centered at x weighted according to their production of 1-cycles in g_(ρ,x)∩X.

This function F:

³→

⁺ takes non-zero values on the desired 2-complex of the web, dissipating to zero off a neighborhood of the 2-complex. In some cases where the web sheets cross through each other or have sheets in very close proximity, it may be necessary to define a linear or other combination on the indexed convolution functions, to eliminate false 2-cells in the region where the web-sheets are in close proximity. To do this we may count only the 1-cycles in g_(ρ,x)∩X that encircle the disk's axis, by defining ĝ(x₁,x₂,x₃)=g(x₁,x₂,x₃) when x₁ and x₂ are not both zero, and ĝ(0,0,x₃)=0. So

(ĝ)₁=1. As before Ĝ={ĝ∘ρ|ρ∈

²}. Then ∫_(Ĝ)1−

(ĝ _(●) ,ĝ _(●)

X)₁ dg:

³→

⁺ measures only the g_(ρ,x) disks containing a 1-cycle of X that encircles the disk axis.

Alternatively to find the 2-complex of the web we may consider the configuration space of a ball B_(r) in

³\X, given by

X,B_(r)

₀ ⁻¹(0). The first method though may be preferred as it has far greater capacity for resolving very close sheets, can be tuned very precisely, and generalizes to finding k-complexes substantiated by j-complexes in

^(n).

The next embodiments give several applications of the convolution to studying a porous material, and adapts to composites and micro-structures that are distributed somewhat uniformly throughout a material. In particular, bone and other body tissues may be given numerical quantities much more informative than traditional density.

Example 25. Let X be a sponge or bone-like material.

In preferred embodiments microscopically small samples of the material X may have high genus. We will show how several quantities may be tabulated related to the distribution, elongation, and frequency of the short non-trivial cycles in X. Let D_(r) be a disk through the origin of radius r. Define G_(r)=(ρ(D_(r))|ρ∈

²). Here ρ is identified with the line normal to the disk ρ(D_(r)). Then ∫

₂

X,G _(r)

₀(x,ρ)dρ/(Area(D _(r))·Area(

²)) gives a measurement of strand density at x. In another embodiment, instead of integrating at each x∈

³, the ρ∈

P² that give the maximum value on

X,G_(r)

₀(x,ρ) may be determined to give a near foliation showing the predominant strand direction, a material property that would be useful to name in applications.

The frequency of the one-cycles in X locally in the ball B_(r,x) may be counted as

X,B_(r)

₁(x)/Volume(B_(r)) or

X,(B_(r),∂B_(r))

₁(x)/Volume(B_(r)). These quantities contribute to the genus density, but deal with the boundary effect of the core sample B_(r) differently. For X spanning

³ and evenly distributing its topological features in some probabilistic manner, one can show

${\lim\limits_{r\rightarrow\infty}{\left\langle {X,B_{r}} \right\rangle_{1}/{{Volume}\left( B_{r} \right)}}} = {\lim\limits_{r->\infty}{\left\langle {X,\left( {B_{r},{\partial\; B_{r}}} \right)} \right\rangle_{1}/{{Volume}\left( B_{r} \right)}}}$ which legitimates calling the quantity the genus density of X.

To detect the directional elongation in X, we may also work in B_(r) on the one-cycles. Define f:B_(r)→[0,2r] by f(x₁,x₂,x₃)=x₃+r. Off B_(r)f can be given the value 0. Other supports and functions could be used. Let x∈

³ be given. Consider the function from SO(

³)→

⁺ defined by ρ

X,f∘ρ

₁(x) The ρ values that make the upper level sets of f∘ρ generally parallel to the greatest number of cycles in B_(r) will return the highest values in the convolution. It is valuable to compare this measurement of directional elongation using f and one-cycles to the elongation indicated by the dominant strand direction using the disk D_(r) and zero-cycles.

We may also determine another valuable characterization of the morphology orientation by evaluating which f:B_(r)→[0,1], with f⁻¹[t,1] convex for all t≦1, and normalizing condition ∫_(B) _(r) f=Volume(B_(r))/2 give maximal values in

X,f

₁(x) when averaged on x over a local region of

³. The shape of f⁻¹[t,1] represents information on the average 1-cycle of X with parameter t.

§Plane Slicing and a Partial Closure Operator

For another application of the convolution bundle, we will take the supremum over the fiber and produce an iteration that yields a closure operator somewhat like convexity. This has many applications including smoothing data, similar to taking the convex-hull, but with customizable curvature and homology characteristics. First we remark on some ordinary aspects of convexity.

Definition 26. Write G^(k) to denote the set of homogeneous k-planes in

^(n), and E^(k) to denote the set of closed half k-planes with bounding (k−1)-plane in G^(k−1).

Theorem 27. ∀ compact X∈

^(n),

-   1. ∀1≦k≦n,

X is convex

Range(

X,G^(k)

)={(0,0, . . . , 0),(1,0, . . . , 0)}

-   2. ∀1≦k≦n,

X is convex

Range(

X,E^(k)

)={(0,0, . . . , 0),(1,0, . . . , 0)}

For x∈

^(n), g∈G^(k), the value

X,E^(k)

(x,g) may give detailed information, such as the slice containing multiple components, non-trivial 1-cycles, etc., on how X may fail to be convex.

For alternative numerical information the quantity ∫_(E) _(k)

X,g

dg/∫_(E) _(k) dg gives at point x the average homology of the intersection of the half-spaces with X. For convex X, the average is (1,0, . . . , 0) in the interior of X, at most (1/2,0, . . . , 0) on the boundary, and decreases with the view of X as x is moved further from X.

Or one may ask for which g∈G^(k) does the r.h.s. of claim 1 above hold. The set {g∈G¹|∀x∈

^(n), Range

X,g

∈{(0,0, . . . , 0),(1,0, . . . , 0)}} gives the directions in which X is convex. In particular if X is convex in all directions then X is convex, and if X and Y are convex in direction g then X∩Y is convex in direction g. A directional convexhull is easily defined. The integer level sets and their boundaries in

X,E^(k)

_(i) and

^(n)\X,E^(k)

_(i) give other information.

By generalizing the intersections above from linear subspaces to more general sets, we may choose a closure operator that utilizes the convolution bundle effectively. Note: We will usually be using the dual sense of closure operator, so have reversed the inclusion in 1 below.

Definition 28. Let X

{circumflex over (X)} be a function that maps from subsets of

^(n) to subsets of

^(n). If

-   1. X⊃{circumflex over (X)} -   2. {circumflex over ({circumflex over (X)}={circumflex over (X)} -   3. X⊂Y     {circumflex over (X)}⊂Ŷ     Then call X     {circumflex over (X)} a closure operator. If X     {circumflex over (X)} satisfies 1 and 2 then call it a partial     closure operator. If X     {circumflex over (X)} satisfies 2,3 and X⊂{circumflex over (X)} then     call it an upward closure operator.

Proposition 29. Let Z be a collection of sets in

^(n). For X⊂

^(n), define {circumflex over (X)}={x∈X|∃Z∈Z with x∈Z⊂X} Then X

{circumflex over (X)} is a closure operator

Proof: From the definition {circumflex over (X)}=∪{Z∈Z|Z⊂X}. Thus {circumflex over (X)}⊂X, {circumflex over (X)}={circumflex over (X)}, and X⊂Y

{circumflex over (X)}⊂Ŷ.▪

One can show the proposition generalizes the convexhull, although complementation is reversed. The convexhull of X⊂

^(n) will be denoted cvh(X).

Proposition 30. let Z={P_(x)|x∈

^(n), P∈E^(k)}. Then as defined above, X

{circumflex over (X)} is a closure operator. Moreover for k=n and X compact or open, {circumflex over (X)}=

^(n)\cvh(

^(n)\X).

Proof: That this is a closure operator was shown in Proposition 29. The agreement with the convexhull is standard.▪

With terminology dual by set complementation to convention, we have

Definition 31. Let f

{circumflex over (f)} be a function that maps from f:

^(n)→

⁺ to {circumflex over (f)}:

^(n)→

⁺. If

-   1. f≧{circumflex over (f)} -   2. {circumflex over ({circumflex over (f)}={circumflex over (f)} -   3. f≦g     {circumflex over (f)}≦ĝ     Then call f     {circumflex over (f)} a closure operator on functions from     ^(n)→     ⁺. If f     {circumflex over (f)} satisfies 1 and 2 then call it a partial     closure operator on functions from     ^(n)→     ⁺. If f     {circumflex over (f)} satisfies 2,3 and f≦{circumflex over (f)} then     call it an upward closure operator.

Proposition 32. Let Z be a collection of sets in

^(n). For f:

^(n)→

⁺ define {circumflex over (f)}(x)=sup{t∈

|∃Y∈Z with x∈Y s.t. ∀y∈Y,f(y)≧t} Then {circumflex over (f)} is a closure operator on functions :

^(n)→

⁺

By using characteristic functions in this proposition it may be seen to generalize Proposition 29. Under the given formulation the propositions relate as

( f ^ ) - 1 ⁢ ( t , ∞ ) ⋐ f - 1 ⁡ ( t , ∞ ) ⋐ f - 1 [ t , ∞ ) ⋐ ( f ^ ) - 1 [ t , ∞ ) , but without additional conditions on f and Z the inclusions may all be strict.

Given below is an example applying Propositions 29 and 32. Here X⊂

³ has a large fundamental group, but many bumps, surface irregularities and culde-sacs. Our goal is to find a smoother set {circumflex over (X)} eliminating the narrow irregular pathways.

Example 33. Let Z be he collection of all embeddings s:S¹→

^(n) that satisfy

-   1. s contains the origin -   2. s is smooth -   3. The length l(s) is less or equal to 10π -   4. The local curvature c(s(t))≦2 ∀t∈S¹ -   5. The total curvature ∫c(s(t))dt lies within [2π,3.1π]     Then for all X⊂     ^(n) define {circumflex over (X)} by     {circumflex over (X)}={x∈     ^(n) |∃s∈Z with     X,s     ₁(x)=1}     and for all f:     ^(n)→     ⁺ define     {circumflex over (f)}(x)=supp     f,Z     ₁(x)     Then X     {circumflex over (X)} and f     {circumflex over (f)} are closure operators.

Conditions 2, 3 4 and 5 in the example could be varied or eliminated and other translationally invariant conditions inserted. They control how {circumflex over (X)} is carved from X by giving conditions specific to the problem on the envelope defining ∂{circumflex over (X)}. Various effects may be produced by considering piecewise linear cycles with at most n singularities, by varying the numerical bounds in the example, and by adding additional constraints. By specifying the conditions one may trim the set X to variously find the cyclic channels of interest.

Definition 34. Let Z be a collection of subsets of

^(n). Say Z is extended on zero if ∀Z∈Z,

-   1. 0∈Z -   2. ∀x∈Z, Z_(−x)∈Z.     These two conditions are equivalent to the one condition     ∀x∈     ^(n) , ∀Z∈Z , 0∈Z _(x)     Z _(x)∈Z.     Also if Z is a collection of pairs of subsets of     ^(n), Say Z is extended on zero if ∀x∈     ^(n), ∀(X,Y)∈Z, 0∈X_(x)     (X_(x),Y_(x))∈Z.

Proposition 35. Let Z be a collection of pairs (Y,Z) with Y,Z⊂

^(n). Assume Z is extended on zero. Let K:Z→Powerset(

^(n)) satisfy (Y_(x),Z_(x)), (Y,Z)∈Z

K(Y_(x),Z_(x))=K(Y,Z). Then for X⊂

^(n),

$\hat{X} = {{\bigcup\limits_{{({Y,Z})} \in}X}\bigcap{\left\langle {X,\left( {Y,Z} \right)} \right\rangle^{- 1}{K\left( {Y,Z} \right)}}}$ is a partial closure operator.

There are many ways to use this; some embodiments set Z to be all embeddings of the unit ball containing the origin, with the empty set for the relative set, and choosing bounds of interest for the homology, {circumflex over (X)} will give the points of X contained in a ball, with the ball intersect X having the desired homology. To illustrate relative homology, let X be a fibrous material similar to a cotton ball, and taking a small ball with its bounding sphere for the relative set, the partial closure operator above with bounds on first homology would pick out those regions with a specified range on the number of fibers passing through the ball. In application for membranes, tissues, polymer composites, etc., this extends the idea of looking for density or composition ranges to being able to define the local topological ranges of the material. Additional requirements on (X∩Y_(x),X∩Z_(x)) such as curvature, volume, or composition density can be incorporated with the topological ranges as was done in Example 33.

Proposition 35 for certain subsets of

^(n) can be strengthened to give a closure operator, by reverting to Proposition 29.

Definition 36. Let CW-complexes X,Y⊂

^(n) be given. Say X is efficient iff ∀X′⊂X,

(X)=(X′)

X=X′. Say (X,Y) is efficient iff ∀X′⊂X,

(X,Y)=

(X′,Y)

X=X′.

Evidently a closed manifold X in

^(n) is efficient as are certain other CW-complexes.

Proposition 37. Let Z be an efficient CW-complex in

^(n). Let Z be a collection of piecewise-smooth embeddings of Z extended on zero. Define K=χ_(dimH(Z)):

^(n+1)→{0,1}, so K(i₀, . . . i_(n))=1

(i₀, . . . i_(n))=dimH(Z). For Y⊂

^(n) define Ŷ by Ŷ={x∈

^(n) |∃Z′∈Z, K(

Y,Z′

(x))=1} Then Y

Ŷ is a closure operator.

The proposition is a special case of Propositions 29 and 35. The set Z in Example 33 implicitly satisfies the hypothesis, and so the proposition proves the examples claims. The set Z may be selected using any applicable condition on the embeddings, for instance as was done in the example with curvature and lengths. The proposition extends from X

{circumflex over (X)} to f

{circumflex over (f)}.

Proposition 38. Let Z,Z,K satisfy the hypothesis of Proposition 37 above. Define

f ^ ⁡ ( x ) = sup ⁢ { t ∈ n ❘ ∃ Z ′ ∈ ⁢ ⁢ with ⁢ ⁢ K ⋄ 〈 1 t ⁢ f , Z ′ ⋄ 〉 ⁢ ( x ) = 1 } Then f

{circumflex over (f)} is a closure operator.

If Z is a collection of efficient pairs extended on zero, Propositions 37 and 38 apply for relative homology with the same proof. The next proposition shows a sum of convolutions yielding a partial closure operator. The idea is to find only those X_(x) that are non-trivial in Y_(x)∩W.

Proposition 39. Let X,Y ⊂

^(n) with X⊂Y. Let Z be a collection of embeddings (X′,Y′) extended over zero. These embeddings commute with the inclusions. For W⊂

^(n), define Ŵ={x∈

^(n)|∃(X′,Y′)∈Z, X′ _(x) ⊂W, s.t.

W,Y′

(x)−

W,(Y′,X′)

(x)=

(X′)} Then W

Ŵ is a partial closure operator.

The example below reiterates the value of considering cycles that appear nontrivial in chosen local neighborhoods.

Example 40. Let S be the collection of smooth 1-cycles contained in B_(r)⊂

^(n), passing through the origin, and of length≦2πr. Put Z={(s,B_(r))|s∈S}. For W⊂

^(n) define Ŵ={x∈

^(n)|∃(s,B _(r))∈Z, s⊂W, s.t.

W,B _(r)

₁(x)−

W,(B _(r) ,s)

₁(x)=1}

This partial closure operator constructs Ŵ as the set of all points in W containing a cycle s of length<2πr, where s appears non-trivial in some B_(r)∩W containing s. For r=0 the Ŵ_(r) is empty and as r→∞, Ŵ_(r) becomes the non-simply connected components of W. For example showing how intuitive the method is, when tying a rope swing to a tree, despite that

³\{tree} is simply connected, one naturally looks for a branch

x with

(B_(r,x)∩

³\{tree})=1 or more.

Other combinations of convolutions may yield partial closure operators. The sand accumulation in Example 22 gives an iteration, defined as a sum of several convolutions, that if it does converge as believed in finitely many steps, would produce an upward closure operator, the sand-hull. Other iterations in §Iterations and color ideas of the next section may yield more elaborate closure operators, and the closure operators give additional means for choosing the equivalence relations of §Constructing Equivalences.

The claim 3 above may be compared to the closure operator of Proposition 30 to show convexity is a specific case of Proposition 29. Also {tilde over (E)}^(n) may be used for the closure operator on functions in Proposition 32.

Definition 41. Let X⊂

^(n), r∈(0,∞). Say X is r-convex iff Range(

X,B _(r)

)={(0, . . . , 0),(1,0, . . . , 0)} and define the r-hull of X by r-hull(X)=∩{Y⊂

^(n) |X⊂Y and Y is r-convex}

If X⊂

^(n) and B_(r,y)∩X=∅, then

^(n)\B_(r,y) is r-convex, showing r-hull(X)∩B_(r,y)=∅. Thus Proposition 29 can be applied to produce a (downward) closure operator closely resembling the dual by complementation of the r-hull.

Closure operators are known to stabilize in one iteration and work well with set operations, and in particular have applications for enhancing data structures. We have given many applications of the convolution for constructing closure operators. Because of the flexibility of defining the convolution it has unique value for data enhancement.

§Colorings and More Relative Homology

In material science applications, X⊂

³ may be made of X₁, . . . , X_(k) different substances. For instance composites are comprised of various materials, proteins contain various amino acids, molecular chains have different atoms, and so forth. Similarly, the region X⊂

³ may have multiple numerical qualities, such as temperature, composition densities, electrical properties, etc., justifying , f₁, . . . , f_(k) with f_(i):X→

⁺.

Using the general convolution notation where the dot subscript indicates the set is translated, in some embodiments one may compute quantities such as

((f₁

g₁ _(●) )

(f₂

g₂ _(●) )

((f₁

f₂)

g₃ _(●) )) or others with arithmetic or set operations, to generate equivalence relations, numeric quantities, or iterations distinguishing the roles of individual f_(i).

In the next example disjoint X,Y⊂

³ with Y having high genus are given. The iteration on X is offered to illustrate how to deform X to encircle Y. The iteration is designed so X grows stalagmites and stalactites without gravity but aimed at producing handles linking Y. Similar constructions may describe other evolution processes.

Example 42. For X,Y⊂

³ define an iteration on X evolving it to link or encircle handles or arms of Y.

Choose r>0 to be the reach of the attraction. Let G={ellipses of length≦2r passing through {0}}. Choose a metric on G with ∫_(G)dg=1. Define ξ:

³→

⁺ by

ξ ⁡ ( x ) = ∫ G ⁢ ( 1 ⁢ ( B r , x ⁢ \ ⁢ Y , 1 2 ⁢ χ X ) - 1 ⁢ ( B r , x ⁢ \ ⁢ Y , 1 2 ⁢ χ X ⋁ g x ) ) · 0 ⁢ ( X ⋀ g x ) · length ⁡ ( X ⋀ g x ) ⁢ ⁢ ⅆ g Then ξ(x) gives the average number of ellipses in G, that link Y in B_(r,x), with preference for those that have linking homology distinct from X∩B_(r,x), weighted by their intersection number with X and the length of their intersection with X.

Next choose t>0 so the volume of X∪ξ⁻¹[t,∞) increases from the volume of X by 5%, and repeat the iteration.

The example shows the interaction of distinct sets X,Y in

³. By replacing B_(r,x) in the definition of ξ(x) with

³, or by replacing B_(r,x) with a weighted sum such as

1 2 ⁢ 3 + 1 2 ⁢ B r , x , the ellipses that globally link Y would be counted with desired weight. Many more complicated problems on multiple sets or functions can be analyzed.

The FIG. 9 below shows an embedded handlebody. In addition to the topology of its compliment in

³, there is an underlying structure. Naming the structure, in precise term so that its class could be recognized by a computer, would be very difficult without our technology. Intuitively the configuration resembles a ladder, but goes twice around a large circle. Interestingly it twists a quarter turn on each revolution around the large circle, so that the rungs of the ladder on the second trip around the circle pass through the openings of the ladder from the first trip around. One could easily imagine the figure as one link in a chain of similar objects, or the rails and rungs of the ladder having finer substructures of braids, links, or handlebodies.

To analyze the figure one may apply the previous techniques to discuss the key features, such as the essential circular disks that have boundary in the ladder and span the holes of the ladder. Each disk would have one rung passing through it as an immersion. At this point one may prefer to not take the union of the disks, but may prefer to index the disks by their placement or directional orientation so that the chaining effect from one disk to the next remains available for further expression. In short, when the disks are added in the iteration they receive an index or color to keep them distinct so that subsequent iterations or equivalence relations have the full meaning at their disposal. Selecting such options may assist the investigator, within the context of all such 3-manifolds being considered, to elucidate and analytically recognize the key properties of interest.

The differentiating of sub-objects in

^(n) by coloring them, either from the original problem or through construction by iteration, is a special case of projecting an object from

^(n+m)→

^(n) while retaining the additional coordinates as the color. This is essentially also the strategy of the convolution bundle. One may try the map in the opposite direction, from

^(n)→

^(n+m). For instance if the last coordinate in

^(n) has an approximate period of p, the map (x₁, . . . , x_(n))→(x₁, . . . , x_(n), cos(2πx_(n)/p), sin(2πx_(n)/p)) gives a higher dimensional object that can be manipulated to study its structure in terms of the period p.

Another attractive strategy given below may be preferred that extends the convolution.

Definition 43. Let Y⊂

^(n), Z an abstract topological space, and γ:Y→Z. For f:

^(n)→

⁺ define

(f; γ) = ∫₀^(∞)dimH(γ(Y⋂f⁻¹[t, ∞))) 𝕕t and

⟨f; γ⟩(x) = (f; γ_(•))(x) = ∫₀^(∞)dimH(γ(Y⋂(f⁻¹[t, ∞))_(−x))) 𝕕t

We have already seen this in one case: the relative homology integral

(f,X) is equivalent to defining γ:

^(n)→

^(n)/(X=point) and writing

(f;γ). When γ:Y→Z is a topology quotient map we may write

(f;˜_(γ)) as in the case

(f,X)=

(f;X=point).

For periodic motion in

^(n) it may be useful to define ˜_(p) on

^(n)×

by relating the time coordinate as (x,0)˜(x,p). Here we have chosen to only identify certain pairs of points with last coordinates 0 or p. So for X⊂

^(n)×

the time path of an object X,

X,˜_(p)

(x,t)±

( X ) indicates that the position of X at times t and t+p intersect. This may be developed further to give a variety of ways of measuring local or approximate periodicity.

One may also define relations that detect periodicity in

³, such as in crystal symmetries. Another embodiment is to convolve with the projective space. Let γ:B_(r)→

^(n−1) by identifying the antipodal points on ∂(B_(r)). Then for X⊂

^(n),

X;γ

(x) is similar to

X,B_(r)

(x) except it connects antipodal points on the boundary of B_(r,x).

§Tangent Space and Infinitesimal Topology

The next construction will generalize much of the technology mentioned thus far and enable the added versatility to incorporate vector spaces, differential forms and related ideas in the technology. First we begin with noting a slight weakness with the sand accumulation simulation in Example 22. Consider a downward cone, as in the example, with the vertex removed. The iteration given applies to compact sets, and does not instate the vertex. A preferred convolution will look at a neighborhood of the vertex, in the limiting case as the neighborhood gives the germ at the vertex, and see if the cone in the germ is solidly filled so that the sand may accumulate, adding the vertex point.

Before proceeding to generality some introductory remarks are needed that will be helpful later. If X⊂

^(n) is a smooth or piecewise smooth CW-complex, one may consider T(X)⊂T(

^(n)) and apply the techniques mentioned earlier to T(X) as a total space or as a fiber bundle. For example in the former case, if X is a soap film in

³, and UT₀(

^(n)) denotes the unit tangent space at the origin, then for (x,v)∈T(

^(n)),

T(X),UT₀(

^(n))

₁(x,v) for |v|<1 will be 1,2,3 or 0, depending whether x is in a 2-cell, 1-cell, 0-cell, or x∉X, respectively.

For piecewise smooth CW-complexes X⊂

^(n), the topological and metric information at x is contained in UT_(x)(

^(n))∩T_(x)(X). If various cells are attached at x, their positional spacing and homology on the unit tangent sphere may be quantified using the convolution

,

. Choosing Y⊂UT₀ (

^(n)) or preferably g:UT₀(

^(n))→

⁺ and writing

T(X),g

(x,0) expresses the topology and spatial orientation of T_(x)(X) as determined by g. Also, G={g∘ρ|ρ∈SO(

^(n))} is a bundle of directional information

T(X),G

(x,0,g).

An embodiment of this section in some ways generalizes on T(X). In terms of the analogy we will begin with what would be the tangent space at the origin.

Definition 44. Let I∈

be an interval. Let P₀ denote the set of piecewise-smooth functions τ:

^(n)×I→

⁺. Call these processes on

^(n).

For f:

^(n)→

⁺ , τ:

^(n)×I→

⁺, t₀∈I, we may consider the existence and values of the following limits:

$\begin{matrix} {\cdot {\lim_{t->t_{0}}{\left( {f \cdot {\tau(t)}} \right)}}} \\ {{\cdot \frac{\mathbb{d}}{\mathbb{d}t}}❘_{t_{0}}{\left( {f \cdot {\tau(t)}} \right)}} \\ {{\cdot \frac{\mathbb{d}^{2}}{\mathbb{d}t^{2}}}❘_{t_{0}}{\left( {f \cdot {\tau(t)}} \right)}} \end{matrix}$

The limits may be taken from above or below, and higher order derivatives, integrals and other quantities may be considered.

Proposition 45. Let f:

^(n)→

⁺ be smooth, and v∈T₀

^(n) a tangent vector, with identification v=exp₀(v)∈

^(n).

${{{Define}{\;\mspace{11mu}}\tau}\; \in {{P_{0}\mspace{20mu}{for}\mspace{20mu} t} \neq {0\mspace{14mu}{by}\mspace{14mu}\tau_{t}}}} = {\frac{1}{t}{\left( {\chi_{\{{v/t}\}} - \chi_{\{ 0\}}} \right).}}$ Then

${\lim\limits_{t\rightarrow 0}{\left( {f \cdot {\tau(t)}} \right)}} = \left( {{\upsilon(f)},0,\ldots\mspace{14mu},0} \right)$ Or define τ∈P₀ by τ_(t)=χ_({v/t})−χ_({0}). Then

${\frac{\mathbb{d}}{\mathbb{d}t}❘_{0}{\left( {f \cdot {\tau(t)}} \right)}} = \left( {{\upsilon(f)},0,\ldots\mspace{14mu},0} \right)$ showing these elementary processes recover the directional derivative.

Proposition 46. Let X⊂

^(n) be a smooth n-manifold with boundary, and let f:

^(n)→

⁺ be smooth. Define

${\tau \in {{P_{0}\mspace{14mu}{for}\mspace{20mu} t} \neq {0\mspace{14mu}{by}\mspace{14mu}\tau_{t}}}} = {\frac{1}{t^{n}}\chi_{{({t\;{\mathbb{Z}}})}^{n}.}}$ Then

lim t -> t 0 ⁢ ⁢ ( X · τ ⁡ ( t ) ) 0 = vol ⁡ ( X ) lim t -> t 0 ⁢ ⁢ ( f · τ ⁡ ( t ) ) 0 = ∫ ⁢ f ⁢ ⁢ ⅆ x

Proof: X and f are smooth and so Riemannian integration applies.▪

Advancing from functions on discrete points to the characteristic function on a sphere

Proposition 47. Let f:

^(n)→

⁺ be smooth, p∈

^(n) a regular point of f, and τ(t)=χ_(∂(B) _(t,p) ₎. Then

${\frac{\mathbb{d}}{\mathbb{d}t}❘_{0}{\left( {f \cdot {\tau(t)}} \right)}} = \left( {{{{grad}_{p}(f)}},0,\ldots\mspace{20mu},0,{- {{{grad}_{p}(f)}}}} \right)$

In this example if f is not regular at p or f is only piecewise-smooth, various other homology dimensions will show-up non-zero and may be used to provide information related to the index of the singularity. Processes other than ∂B_(t,p) and process pairs for relative homology may also be used as in the proposition to define local characteristics of piecewise smooth f. Processes may also be used for describing foliation properties and their singularities.

Theorem 48. Let X⊂

^(n) and f:

^(n)→

⁺ be such that X and X·f have finite homology. Define τ(t)(x)=t+f(x). Then

${\frac{\mathbb{d}}{\mathbb{d}t}\left( {X \cdot {\tau(t)}} \right)} = {\dim\;{H(X)}}$

Proof:

(X ⋅ τ(t)) = ∫_(s = 0)^(∞)dim  H (t χ_(X) + f χ_(X))⁻¹[s, ∞)𝕕s = ∫_(s = 0)^(t)dim  H(X) 𝕕s + ∫_(s = t)^(∞)dim  H(t χ_(X) + f χ_(X))⁻¹[s, ∞) 𝕕s = t ⋅ dim  H(X) + ∫₀^(∞)dim  H(f χ_(X))⁻¹[s, ∞) 𝕕s ${{Thus}\frac{\mathbb{d}}{\mathbb{d}t}\left( {X \cdot {\tau(t)}} \right)} = {\dim\;{H(X)}}$

Thus far we have seen a variety of quantities that may be measured by

${\frac{\mathbb{d}}{\mathbb{d}t}\left( {f \cdot {\tau(t)}} \right)\mspace{14mu}{or}\mspace{14mu}\frac{\mathbb{d}}{\mathbb{d}t}\left( {X \cdot {\tau(t)}} \right)},$ namely the directional derivative, volume, gradient, singular information, and homology of f or X. Other quantities such as arc length, area, sectional curvature may be expressed. Depending on the process, several of these examples give the quantity on f only at the point 0∈

^(n), pointing out the oppertunity to convolve with processes. If τ∈P₀, we may convolve with τ as in

${\frac{\mathbb{d}}{\mathbb{d}t}\left\langle {f,{\tau(t)}} \right\rangle(x)} = {{\frac{\mathbb{d}}{\mathbb{d}t}\left( {f \cdot {\tau(t)}_{x}} \right)} = {\frac{\mathbb{d}}{\mathbb{d}t}{\int_{s = 0}^{\infty}{\dim\;{{H\left( y\mapsto\left( {{{f(y)} \cdot {\tau(t)}}\left( {y - x} \right)} \right) \right)}^{- 1}\left\lbrack {s,\infty} \right)}\ {\mathbb{d}s}}}}}$ Convolving with processes is a general case of convolving with functions, for if τ∈P₀ is a constant process then lim_(t→0)

f,τ(t)

=

f,τ(0)

.

Our next goal is similar to convolving with processes except that the process should change dependent upon where it is translated. With P₀ the set of processes at 0, P_(x)=(P₀)_(x) will denote the processes at x. An alternative embodiment puts P_(x) to be the set of processes on T_(x)(

^(n)), and they are applied to

^(n) via exp_(x).

Definition 49. Define P={P_(x)|x∈

^(n)} to be the process bundle on

^(n), and call a section of this bundle a process field. Thus for each process field τ∈P, each x∈

^(n), let τ_(x)∈P_(x) denote the process of τ at x.

Generally some smoothness conditions on how a process field varies with x may be imposed. The mentioned example of the directional derivative shows for any vector field ζ on

^(n), there is a τ∈P with ζ(f)=lim_(t→0)

(f·τ(t)). Process fields τ,σ in P may be combined with arithmetic or set operations and applied to f:

^(n)→

⁺ in a variety of ways as with convolution, such as by defining lim

(f·

τ)(x)=lim

(f

τ_(x)), with relative homology by defining lim

(f·τ,σ)(x)=lim

(f·τ_(x),σ_(x)(, and other more elaborate expressions. The resulting n+1 dimensional information at each point x∈

^(n) may then be composed with the Euler sum, a projection onto a specific homology dimension, or other functions if desired.

The process fields may be applied as a very versatile embodiment of the homology integral. For τ∈P a process field, the special case where τ_(x,t) is constant in t and x the homology integral

(f

τ)=

f,τ

. For general τ∈P we may take lim

(f

τ) to generate a diverse range of data on the structure of f. These applications may generalize on homology, the homology integral, convolutions, and on differential geometry quantities such as vector fields, and so offer a natural method for combining our new methodology with the tools of differential geometry.

§Applications for Medicine and Industry

The methods in this disclosure have many applications including comparing geometrical configurations in

³. One advantage is that we may now define morphology characteristics not expressed within traditional mathematics, and apply this to describe a multitude of observed objects micro-biology and in the world at large. The techniques apply to evaluation generally for objects in

³ or other dimensions. Data or images may be enhanced, structures can be classified or given numerical values, and dynamic patterns can be modeled and predicted.

In three-dimensional space, applications in material science such as counting the local handlebody density in polymers and bone samples are illustrated in §Convolution Bundles. This tool of local homology may have applications for configurations found in material science and molecular biology. Topologically nontrivial objects occur frequently with spatially arranged homology features. Materials often have textures that upon close examination may be quantified and compared using this new local homology technique. This applies to data sampling of multi-dimensional objects in other settings as well as in

³. Even when X⊂

^(n) is a union of discrete contractible components, such as an aggregate in a composite, polymer strands, molecule and protein arrangements, or data points, the contractible components will often be arranged with an overall structure. Thickening X with procedures like X_(r) or others from §Iteratons will produce continuously indexed families of structures. Selecting g_(r,x) and applying invariants and equivalence relations on

X,g_(r,x)

may be applied to determine the spatial arrangement of the homology features, and other complex patters found in the spatial configuration of X.

In medicine the bone example giving directional homology density applies to studying other tissues by locally labeling the matter f₁, . . . , f_(k):

³→

⁺ according to its composition densities, and investigating homology convolutions, in particular as in §Colorings. Studying brain pathways, abnormal tissue development, classifying tumors, and tracking tissue healing are some possible applications. Synthetic tissue scaffolding may be manufactured with improved morphology for promoting the cell growth. The methods apply also to microscopic scales, to quantifying variations in structural compositions of molecular biology. The folded DNA chain sequences may be given useful numerical characteristic by applying the methods. Another extremely useful application is for designing drugs to target certain cells or tissues. The techniques here may enable quantitative descriptions of receptors and targets so that the drugs may be delivered more accurately.

For material science, the methods apply to give numerical quantities describing the morphology of composites. Polymers or blends often form a matrix surrounding aggregates, fibers, voids or another polymer matrix. These structures can become quite complex with local and directional homology features relating to the overall strength and qualities of the material. By naming the convolutions that give the numerics that correspond to the desired overall performance of the material, the engineer develops a compass for synthesizing new materials and selecting which old materials that are expected to perform well, and moreover by studying the relationship between the named convolutions and the actual performance, new insights into the underlying mechanisms in the material that generate the desired performance can be known.

In addition to objects in

³, data from

^(n) may be manipulated with the methods from the previous sections. Multi-channel or locally periodic electronic communications, stock market indicators, color photographs, weather data and many other examples can be given where the underlying form of the image locally has connectivity structure and topological features that can be emphasized or quantified by the various methods given. With the automation of data collection, the availability of many forms of medical and microscopic imaging, and the capacity for new computers, software written to calculate the homology integral, the convolution, and other techniques described, may be a great assistance in many fields for interpreting data analytically.

§Software Implementation

In FIG. 10, an embodiment program flow chart is shown for determining the homology integral

. A program performing the steps indicated in FIG. 10 may be loaded into the memory of a computer for execution by a processor. The program may be written in any suitable programming language to implement the previously described mathematical algorithms and procedures. In step 101, a computer may receive the world data that will be evaluated. The data may have originated from medical imagery equipment, from multi-variable observations or experiments of any sort, from financial data, or from other sources. The data may have been pre-processed or converted to more usable formats. The data may have been delivered from another computer, or output from programs or subprograms from the same computer system. The data may come from any source.

The data is symbolized in FIG. 10 by f:

^(n)→

⁺, which may be read “f is a function that assigns to each point x=(x₁, . . . , x_(n)) in

^(n) a value f(x) that is a positive number or zero.” For example, a three-dimensional medical image showing the density of tissue may be f:

³→

⁺, with f(x)=f(x₁,x₂,x₃)=the density of the tissue at point x.

There are many simplifications and conventions related to software requirements and others for representing f. Often f will provide values on a bounded region of space, and outside that region f may implicitly take the value 0. The bounded region values may be given on a discretized or pixilated points in space, or may be given symbolically by specifying node points and splines. For example in certain embodiments, a piecewise linear, NURBS, or other representation of Graph(f)⊂

^(n) may be provided. Combinations of these and other methods may be used to represent f.

In some embodiments, in place of inputting f:

^(n)→

⁺, a set X⊂

^(n) may be input. It will be understood that this variation may be included throughout the instant disclosure by putting f=χ_(X) so f(x) is equal to 1 when x∈X and f(x) equal to 0 when x∉X. This function is called the characteristic function of X. In various embodiments, when f is a characteristic function it may be represented in the form of the underlying set.

In some embodiments, f may be input with f:

^(n)→

so assigns possible negative values to points. In other embodiments, the program may perform a mapping function so that negative values in the dataset are mapped to positive values or zero.

In step 102 of FIG. 10 the transitional values are described in Definition 4. In certain embodiments the set (t₀, . . . , t_(k)) may include the transitional values and optionally some additional values. Theorem 6 gives a method for determining such a set (t₀, . . . , t_(k)), by finding the points where the partial derivatives of f and f along its boundary are zero. Software is available to calculate the partial derivatives, and such software or its equivalent may be implemented in the instant program code.

In step 103 the formula is described in Proposition 5 and Theorem 6. Generally the summation is calculated for each homology index i. In some embodiments the calculation may be done for only select values of i. The

$f^{- 1}\left\lbrack {\frac{t_{j} + t_{j + 1}}{2},\infty} \right)$ may be seen to represent the contour slice of the graph of f at height midway between the transitional values t_(j) and t_(j+1). and dimH_(i)

$\left( {f^{- 1}\left\lbrack {\frac{t_{j} + t_{j + 1}}{2},\infty} \right)} \right)$ may be seen to represent the homology Betti numbers of this slice, and (t_(j+1)−t_(j)) may be seen to represent the interval length between t_(j) and t_(j+1).

As step 103 was carried out for each i=0, . . . , n n+1 values are provided. For i=n the value

_(n)(f) will be zero for standard f, so this term may be omitted from the flow chart. As mentioned following Definition 10, in various embodiments we may substitute relative homology for homology, and it will be understood that this substitution may be performed throughout the instant disclosure. In the case of relative homology the n^(th) Betti number may be non-zero, and so the case i=n is included in the flow chart.

In some embodiments, in place of dimH_(i) cohomology Betti numbers dimH^(i) may be employed.

FIG. 13 shows another embodiment data processing steps that may be coded into a program for execution by a computer. Step 301 shows two functions f:

^(n)→

⁺, and g:

^(n)→

⁺. Either f or g or both may be supplied in any of the various embodiments described for the input data in step 101 of the previous embodiment processing steps. The data f may be, for example, the world data to be analyzed and the data g may be the probe data selected by the user. In other embodiments these roles for f and g may be reversed, or the data may be input for any purpose. In certain specific embodiments the computer program code may include additional routines that enable a user to select, modify, or create the probe g, the dataset f or both. For example, the program code may include routines that enable the user to mathematically define the probe g. Or, a CAD program or the like may enable the user to build the probe g that is defined by vertex points or the like. Or, the program code may permit a user to build the probe g as a discretized dataset, such as an n-dimensional, pixelated structure. For example, the program code may include an editor or the like that enables the user to generate the probe g as a series of three-dimensional pixels that together define a shape or homological characteristic that is to be tested against. Although complex, the design of such user interfaces are broadly known, and providing such logical interfaces should be possible for one of reasonable skill in the art without undue experimentation after having the benefit of the instant disclosure.

As shown in step 302, in various embodiments the partition of

^(n) may divide

^(n) into distinct sets, so that their union may be all of

^(n). In other embodiments the partition may only include a neighborhood of the support of f and g, sufficient to include all points x where f

g_(x)±0, i.e. all points x so that the contour slices of g shifted by x and the contour slices of f do not intersect above the height=0 plane, for example. In some embodiments other partitions may be used. In certain particular embodiments the partition may be selected so that

(f

g_(x)) is constant on each set of the partition.

The points b_(j) may be selected, for example, as the barycenter of k_(j). Any other suitable centers or means of selecting a point b_(j) in k_(j) for each j may also be used.

In step 303 for each partition set k_(j) and selected point b_(j) in k_(j), a function C_(j) with domain k_(j) may be constructed. In certain embodiments C_(j) may be a constant function, assigning each point in k_(j) the indexed values

(f

g_(b) _(j) )=(

₀(f

g_(b) _(j) ), . . . ,

_(n)(f

g_(b) _(j) )). For each i=0, . . . , n this would mean C_(ji)=

_(i)(f

g_(b) _(j) )). The function C_(j) may be represented in a computer in any form suitable for functions. It may be preferable to represent C_(j) as an indexed constant function by using a representation for the set k_(j) and having a rule that associates to the elements of k_(j) the values

_(i)(f

g_(b) _(j) ), for i=0, . . . , n.

Step 304 shows that a function F may be assembled as the disjoint union of the C_(j). So F_(i)(x)=C_(ji), where j is selected according to the region k_(j) containing x. If the partition does not cover

^(n) then F may return the value (0, . . . , 0) outside the partition. The function F may be represented in any form suitable for functions. It may be represented in a form suitable for an indexed family of step functions, such as a rule containing the partition information and the constant Betti numbers assigned to each set in the partition.

In step 305 F is output as

f,g

, and so F_(i)(x) is the value for

f,g

_(i)(x).

All references cited in the specification, both patent publications and non-patent publications, are indicative of the level of skill of those skilled in the art to which this invention pertains. All these publications are herein fully incorporated by reference to the same extent as if each individual publication were specifically and individually indicated as being incorporated by reference. It should be understood in the instant disclosure that each instance of the terms “data,” “dataset” or “function” may be interchangeable with each other throughout the instant disclosure unless otherwise clear to one of reasonable skill in the art that such a substitution would be inconsistent with the disclosure at that specific instance.

Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the following claims. 

1. A computer system comprising: at least a processor; an output system controllable by the at least a processor for providing output information; and a memory in communications with the at least a processor, the memory comprising program code executable by the at least a processor for causing the at least a processor to perform the following steps: inputting into the memory a geometric object; computing a G-integral of the geometric object, where G is a topological invariant numerical function; and outputting to the output device a result corresponding to the computed G-integral to characterize at least a topological or geometrical characteristic of the geometric object.
 2. The computer system of claim 1 wherein G-integral is the homology integral or relative homology integral, and the geometric object is a fuzzy set, a set with composition density, or a function.
 3. The computer system of claim 2, wherein the geometric object is a function, and the G-integral is the homology integral or the relative homology integral that is computed using an arithmetic combination of homology Betti numbers or relative homology Betti numbers.
 4. The computer system of claim 3 wherein the Betti numbers are evaluated on sets, the sets corresponding to preimages of the function.
 5. The computer system of claim 4, wherein the preimages are evaluated on intervals A_(i), and the arithmetic combination comprises dimH_(j)(f¹(A_(i))) for a plurality of different A_(i).
 6. The computer system of claim 1 wherein computing the G-integral comprises: performing a plurality of Betti number calculations for the geometric object; and arithmetically combining at least the Betti numbers.
 7. A computer system comprising: at least a processor; an output system controllable by the at least a processor for providing output information; and a memory in communications with the at least a processor, the memory comprising program code executable by the at least a processor for causing the at least a processor to perform the following steps: inputting into the memory two or more geometric objects; evaluating a convolution of the two or more geometric objects; and outputting to the output device a result characterizing at least a topological or geometrical property of at least one of the geometric objects according to the evaluation of the convolution of the two or more geometric objects; wherein the convolution is calculated using at least numeric quantities given by computations of an algebraic topological invariant.
 8. The computer system of claim 7 wherein at least one of the geometric objects is input in at least part from an imaging device.
 9. The computer system of claim 7 wherein multiple convolutions of geometrical objects are computed and the result is combined into a geometric object.
 10. The computer system of claim 7 wherein a geometric object is computed that in turn is used for the computation of another convolution.
 11. The computer system 7 wherein the convolution is the homology convolution and has * function which is either multiplication or taking the minimum.
 12. The computer system of claim 7 wherein the topologic invariant is one of homology, cohomology, relative homology, relative cohomology, homotopy groups, K-theory, generalized homology, or generalized cohomology.
 13. The computer system of claim 12 wherein the numeric quantities are calculated from the dimension of the homology, cohomology, or relative homology at at least one index.
 14. A computer system for evaluating a geometric object A, the computer system comprising: at least a processor; an output system controllable by the at least a processor for providing output information; and a memory in communications with the at least a processor, the memory storing the geometric object A and further comprising program code executable by the at least a processor for causing the at least a processor to perform the following steps: 1) obtaining geometric objects B₁ and B₂; 2) obtaining indices i₁ and i₂ that are both greater than zero; 3) computing data representing sets C₁ and C₂, where C₁ is calculated with algebraic or set operations that utilize at least A and B₁, and C₂ is calculated with algebraic or set operations that utilize at least A and B₂; 4) computing the i₁ index Betti number of C₁ and the i₂ index Betti number of C₂, wherein the Betti numbers are associated with a topological invariant; 5) arithmetically combining the at least two Betti numbers obtained from step (4) to produce a geometric object D; and 6) outputting to the output device a result obtained from the geometric object D to characterize topological or geometric properties of geometric object A.
 15. The computer system of claim 14 wherein B₁=B₂.
 16. The computer system of claim 14 wherein the topological invariant is selected from a set consisting of homology, cohomology, relative homology, relative cohomology, homotopy groups, K-theory, generalized homology, or generalized cohomology.
 17. The computer system of claim 14 wherein arithmetically combining the at least two Betti numbers includes adding, averaging, or weighted averaging of the at least two Betti numbers. 